Der Zweck dieses Artikels besteht darin, ein Skript wie ein Bash-Skript oder ein Python-Skript so zu konfigurieren, dass es beim Systemstart in Ubuntu 22.04 Jammy Jellyfish Server/Desktop ausgeführt wird.
In diesem Tutorial lernen Sie:
- So erstellen Sie eine Systemd-Diensteinheit
- So erstellen Sie ein einfaches Skript zum Überprüfen des Speicherplatzes
- So setzen Sie Berechtigungen für die Systemd-Service-Unit-Datei
- So legen Sie Skriptberechtigungen fest
- So aktivieren Sie die Systemd-Diensteinheit, damit sie beim Systemstart ausgeführt wird

Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | Ubuntu 22.04 Jammy Jellyfish |
Software | Nicht zutreffend |
Andere | Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl. |
Konventionen | # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden |
Schritt-für-Schritt-Anleitung zum Ausführen eines Skripts beim Start unter Ubuntu 22.04
Ubuntu 22.04 basiert auf Systemd, daher besteht die einfachste und empfohlene Methode zum Ausführen eines Skripts beim Start darin, eine Systemd-Dienstdatei zu erstellen und jedes Skript wie bash, python usw. über diesen Dienst während des Systemstarts auszuführen.
Die folgenden Schritte zeigen Ihnen, wie Sie ein Beispiel-Bash-Skript ausführen, das die Speicherplatznutzung von /home
meldet Verzeichnis und speichert den Bericht im Verzeichnis /root
Verzeichnis jedes Mal, wenn das Ubuntu 22.04-System bootet.
- Erstellen Sie zuerst eine Systemd-Dienstdatei wie in einem Beispiel unten. Wir speichern diese Datei als
/etc/systemd/system/disk-space-check.service
.[Unit] After=network.service [Service] ExecStart=/usr/local/bin/disk-space-check.sh [Install] WantedBy=default.target
Nach :Weist systemd an, wann das Skript ausgeführt werden soll. In unserem Fall wird das Skript nach der Netzwerkverbindung ausgeführt. Ein anderes Beispiel könnte mysql.target usw. sein.
ExecStart :Dieses Feld enthält einen vollständigen Pfad zum eigentlichen Skript, das beim Start ausgeführt werden soll
WantedBy :In welches Boot-Ziel soll die systemd-Unit installiert werdenHINWEIS
Für weitere Informationen zum Erstellen von Systemd-Diensteinheiten führen Sieman systemd.unit
aus Befehl. - Erstellen Sie ein Skript, das beim Start des Ubuntu-Systems ausgeführt werden soll. Wie in Schritt 1 oben angegeben, lautet der Pfad und der Name des neuen Skripts in unserem Beispiel
/usr/local/bin/disk-space-check.sh
.Unten sehen Sie ein Beispiel für ein solches Skript:
#!/bin/bash date > /root/disk_space_report.txt du -sh /home/ >> /root/disk_space_report.txt
- Setzen Sie die entsprechenden Berechtigungen für die Systemd-Diensteinheit und das Skript:
$ sudo chmod 744 /usr/local/bin/disk-space-check.sh $ sudo chmod 664 /etc/systemd/system/disk-space-check.service
- Aktivieren Sie als Nächstes die Diensteinheit:
$ sudo systemctl daemon-reload $ sudo systemctl enable disk-space-check.service
- Jetzt können Sie Ihr System neu starten. Sobald das System startet, sollten Sie die folgende Datei sehen, die die Speicherplatznutzung in Ihrem
/root
enthält Verzeichnis:$ sudo ls /root/ disk_space_report.txt
Abschlussgedanken
In diesem Tutorial haben wir gesehen, wie Ubuntu 22.04 so konfiguriert wird, dass bei jedem Systemstart ein Skript ausgeführt wird. Dies ist eine praktische Funktion, die Systemadministratoren implementieren können, um sicherzustellen, dass jedes Mal, wenn Ubuntu nach einem Systemneustart geladen wird, ein Bash- oder Python-Skript ausgeführt wird.