GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Crontab Reboot:So führen Sie einen Job automatisch beim Booten aus

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.


Linux
  1. Wie führe ich "date" innerhalb eines Cron-Tab-Jobs aus?

  2. Wie plane ich einen nächtlichen Neustart?

  3. Gewusst wie:Verwalten von Systemprotokollen mit Journalctl

  4. Wie füge ich einen Crontab-Job mit einem Bash-Skript zu Crontab hinzu?

  5. Wie erstelle ich eine EFI-Systempartition?

So booten Sie Linux Mint 20 im Rettungs-/Notfallmodus

So starten Sie Ubuntu 20.04 LTS neu

So starten Sie CentOS 8 neu

So führen Sie jede Woche am Sonntag einen Crontab-Job aus

So überprüfen/reparieren Sie das Linux-Dateisystem beim Booten

So überprüfen Sie den Systemneustartverlauf und die Startzeit in Linux