Cron verstehen – endlich mal richtig
Cron ist eines dieser Tools das jeder benutzt und kaum jemand wirklich versteht. Man kopiert Beispiele, man probiert aus, man wartet ob's klappt. Das ist kein guter Ansatz wenn der Cron-Job täglich Datenbankbackups macht.
Die fünf Felder
Ein Cron-Eintrag hat fünf Zeitfelder, dann den Befehl:
Der häufigste Fehler
* * * * * läuft jede Minute. 0 * * * * läuft jede Stunde. Wer * 3 * * * schreibt meint "jede Minute zwischen 3:00 und 3:59 Uhr" – meistens nicht das was man will.
Warum Cron-Jobs nicht laufen obwohl sie sollten
Der häufigste Grund: der PATH ist in Cron-Jobs anders als in der Shell. Wenn du in der Shell php script.php tippst und es funktioniert, kann der gleiche Befehl im Crontab scheitern weil php nicht im PATH von Cron ist. Lösung: absoluten Pfad benutzen: /usr/bin/php /pfad/script.php.
Output immer irgendwohin schreiben oder explizit verwerfen:
Und: nach dem Bearbeiten mit crontab -e gibt's keine Bestätigung dass der Cron-Daemon den neuen Job übernommen hat. Das passiert automatisch – aber es passiert. Einfach kurz warten und im Log nachschauen.
← zurück zu Linux 📂 Archiv