Cron ist ein Dienstprogramm zum Planen von Aufgaben im Linux-Betriebssystem. Es ermöglicht Ihnen, Skripte oder Befehle automatisch zu bestimmten Zeiten, Intervallen oder Ereignissen auszuführen.
Um Cron zu verwenden, müssen Sie eine crontab-Datei
erstellen, die eine Liste von Aufgaben und Zeitintervallen enthält, in denen sie ausgeführt werden sollen. Jede Aufgabe in crontab ist eine Zeichenkette, die aus fünf durch Leerzeichen getrennten Feldern besteht:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday = 0 or 7)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +----------- hour (0 - 23)
+------------- minutes (0 - 59)
Der *
steht für einen beliebigen Wert, z. B. wenn das Feld minutes einen *
enthält, wird die Aufgabe jede Minute ausgeführt. Wenn Sie einen bestimmten Wert für ein Feld festlegen wollen, z. B. jeden Tag um 3 Uhr morgens, sollten Sie 0 3 * * * *
schreiben.
Um eine crontab-Datei zu erstellen oder zu ändern, verwenden Sie den Befehl crontab -e. Jeder Benutzer kann seine eigene crontab-Datei haben, ebenso wie die Systemdatei /etc/crontab
, die Aufgaben enthält, die unter dem Benutzer root ausgeführt werden.
Es gibt einen Befehl cronjob
, mit dem Sie Aufgaben innerhalb von Docker-Containern ausführen können. Er funktioniert ähnlich wie crontab
, aber die Aufgaben können innerhalb des Containers und nicht auf dem Hostsystem ausgeführt werden.
Gehen Sie folgendermaßen vor, um Cron unter Linux zu verwenden:
1. öffnen Sie ein Terminal und geben Sie den Befehl crontab -e
ein. Dadurch wird die crontab-Datei für den aktuellen Benutzer geöffnet.
2. Fügen Sie der crontab-Datei eine Aufgabe gemäß dem oben beschriebenen Feldformat hinzu. Wenn Sie beispielsweise das Skript every_hour.sh
jede Stunde ausführen möchten, fügen Sie die Zeile 0 * * * * * * /path/to/every_hour.sh
ein.
3. Speichern Sie Ihre Änderungen und schließen Sie die Datei.
4. Überprüfen Sie mit dem Befehl crontab -l
, ob die Aufgabe zu crontab hinzugefügt wurde. Es wird eine Liste aller Aufgaben angezeigt, die zu crontab
hinzugefügt wurden.
5. Überprüfen Sie, ob die Aufgabe wie geplant ausgeführt wird, indem Sie den Befehl tail -f /var/log/syslog
verwenden. Sie sehen dann die Ausgabe zur Ausführung der Aufgabe.
6. Wenn Sie eine Aufgabe aus der crontab
entfernen möchten, verwenden Sie den Befehl crontab -r
.
Es gibt einige wichtige Punkte, die zu beachten sind:
crontab
hinzufügen. Wenn Sie jedoch ein Skript ausführen wollen, müssen Sie sicherstellen, dass es über Ausführungsrechte verfügt(chmod +x /pfad/zu/skript.sh
).sudo crontab -e
, um die crontab-Datei
für den Root-Benutzer zu öffnen.Beachten Sie, dass die in crontab
angegebene Zeit mit der Zeit auf dem Server übereinstimmt, auf dem Cron läuft. Wenn Sie einen entfernten Server verwenden, vergewissern Sie sich, dass die Zeit auf dem Server richtig konfiguriert ist.