Mit Cronjobs lassen sich bestimmte Befehle zu einer definierten Zeit ausführen. Wie genau man einen Cronjob einrichtet, zeige ich hier.
Cronjob ist in Debian und Ubuntu bereits vorhanden und muss daher nicht installiert werden. Um den Editor zu öffnen und einen neuen Cronjob zu erstellen, schreibst du crontab -e in die Putty-Konsole.
Die Zeilen mit Kommentaren können rausgelöscht werden, folgende sollte erhalten bleiben, da diese nützlich ist und die Syntax beschreibt:
# m h dom mon dow command
Ein Cronjob setzt sich demnach aus folgender Syntax zusammen. Jede Zeitangabe wird durch ein Leerzeichen getrennt und anschließend folgt der Befehl.
m | h | dom | mon | dow |
---|---|---|---|---|
Minute (0-59) | Stunde (0-23) | Tag im Monat (1-31) | Kalendermonat (1-12) | Wochentag (1-7) |
Beispiele
Führt stündlich zur vollen Stunde die hourly.sh aus:
0 * * * * /usr/src/hourly.sh
Führt alle 3 Stunden das PHP-Script check.php auf einer Website aus:
0 */3 * * * /usr/bin/curl https://example.com/php/check.php
Führt täglich um 03:30 Uhr die daily.sh aus:
30 3 * * * /usr/src/daily.sh
Führt wöchentlich um 18 Uhr einen mysqldump aus:
0 18 * * 1 mysqldump -u Datenbank01 -p'passw0rd' --extended-insert=FALSE Datenbank01 > Datenbank01_$(date +"%Y-%m-%d").sql
Der * bedeutet, dass der Cronjob bei dieser Zeitangabe immer ausgeführt wird. Bei Wochentag beispielsweise bedeutet das, dass er an jedem Wochentag ausgeführt wird.
Sehr praktisch zum Erstellen der Zeitplanung ist die Website crontab.guru
Zum Ausgeben aller Cronjobs kann der Befehl crontab -l genutzt werden. Die Befehle werden immer als der Nutzer ausgeführt, unter dem der Cronjob eingerichtet wurde.
Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.
Über mich
Ich bin Janis (aka. EurenikZ), 25 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.