Einführung
Der Cron-Daemon ist ein Linux-Dienstprogramm, das zum Planen von Systemaufgaben und -prozessen verwendet wird. Es verwendet Cron-Tabellen (crontab), um geplante Jobs zu speichern und zu lesen.
Dieses Tutorial behandelt, wie Sie crontab verwenden können, um Jobs zu planen, die beim Systemneustart ausgeführt werden.
Voraussetzungen
- Ein System, auf dem Linux ausgeführt wird
- Zugriff auf ein Befehlszeilen-/Terminalfenster
- Ein Benutzerkonto mit Root- oder Sudo-Berechtigungen
Crontab-Befehlsübersicht
Mit der crontab
Befehl haben Sie die volle Kontrolle darüber, wann und wie Jobs ausgeführt werden. Verwenden Sie crontab
um die Auftragsausführungszeit auf die Minute genau festzulegen, ohne dass Schleifen- und Timing-Logik in der Aufgabe erforderlich ist.
crontab
hat geringe Ressourcenanforderungen, da es keinen Systemspeicher reserviert, wenn es nicht ausgeführt wird.
Crontab beim Booten:Cron-Job beim Booten ausführen
Öffnen Sie die Cron-Task-Liste mit dem folgenden Befehl:
crontab -e
Wenn Sie mehrere Texteditoren installiert haben, werden Sie vom System aufgefordert, einen Editor auszuwählen, mit dem die Cron-Task-Liste aktualisiert werden soll. Verwenden Sie die Zahl in den Klammern, um Ihre bevorzugte Option auszuwählen. Wir verwenden die Standardoption Nano.
Um bei jedem Systemstart einen Cron-Job auszuführen, fügen Sie eine Zeichenfolge namens @reboot
hinzu bis zum Ende der Aufgabenliste. Der durch diese Zeichenfolge definierte Job wird beim Start ausgeführt, unmittelbar nach dem Neustart von Linux.
Verwenden Sie die folgende Syntax, wenn Sie @reboot
hinzufügen Zeichenkette:
@reboot [path to command] [argument1] [argument2] … [argument n]
@reboot [part to shell script]
Drücken Sie Control + X
um Nano zu beenden, dann Y
und Enter
um alle vorgenommenen Änderungen zu speichern.
Zum Beispiel, wenn wir das Systemdatum in eine Datei namens date.txt geschrieben haben möchten Wenn Linux neu startet, würden wir die folgende Zeichenfolge hinzufügen:
@reboot date >> ~/date.txt
Wenn wir die Backup-Shell beim Neustart ausführen wollten, würden wir hinzufügen:
@reboot /root/backup.sh
Cron-Job beim Booten mit Verzögerung ausführen
Um einen Job mit einer Verzögerung nach dem Systemneustart auszuführen, verwenden Sie beim Hinzufügen von @reboot
den Befehl sleep Zeichenkette:
@reboot sleep [time in seconds] && [path to job]
Wenn Sie fünf Minuten nach dem Neustart eine Textdatei mit dem Systemdatum erstellen möchten, fügen Sie hinzu:
@reboot sleep 300 && date >> ~/date.txt
Einen Neustartbefehl entfernen
Jeder @reboot
Zeichenfolge, die Sie der Cron-Task-Liste hinzufügen, führt bei jedem Neustart von Linux einen Job aus. Wenn Sie einen Job nicht mehr ausführen möchten, entfernen Sie ihn aus der Aufgabenliste.
Öffnen Sie dazu die Aufgabenliste mit crontab -e
Befehl. Scrollen Sie nach unten, um die von Ihnen hinzugefügten Jobs zu überprüfen.
Um eine Aufgabe aus der Liste zu entfernen, löschen Sie die entsprechende Zeile aus der entsprechenden Zeichenfolge. Drücken Sie Control + X
um Nano zu beenden, dann Y
und Enter
um Änderungen zu speichern.