Cron-Leitfaden
Leitfäden

Cron und Zeitzonen vollständig verstehen

Server-UTC vs. lokale Zeit, TZ festlegen

Der cron-Ausdruck selbst enthält keine Zeitzoneninformation. Der Zeitpunkt, auf den ein Ausdruck verweist, richtet sich nach der Zeitzone des Systems, auf dem cron läuft. Deshalb kann derselbe 0 9 * * * je nach Serverzeitzone zu einem anderen tatsächlichen Zeitpunkt ausgeführt werden.

Viele Server und Container haben UTC als Standardzeitzone. Da Korea (KST) UTC+9 ist, wird eine mit 0 0 * * * (Mitternacht) geplante Aufgabe auf einem UTC-Server tatsächlich um 9 Uhr morgens koreanischer Zeit ausgeführt. Es kommt sehr häufig vor, dass man in lokaler Zeit denkt und plant und dann um 9 Stunden danebenliegt.

Manche cron-Implementierungen erlauben es, oben in der crontab eine Zeile wie CRON_TZ=Asia/Seoul zu setzen, damit die Auswertung in einer bestimmten Zeitzone erfolgt. In einer Container-Umgebung stellt man dazu auch die TZ-Umgebungsvariable des Images oder /etc/localtime auf die gewünschte Region ein. Ob dies unterstützt wird, hängt jedoch von der Implementierung ab und sollte überprüft werden.

In Regionen mit Sommerzeit (DST) kann an den Tagen, an denen die Uhr vor- oder zurückgestellt wird, ein bestimmter Zeitpunkt übersprungen werden oder zweimal auftreten, sodass in dieser Zeitzone geplante Aufgaben ausgelassen oder doppelt ausgeführt werden können. Plant man wichtige Aufgaben nach UTC, lassen sich solche Probleme vermeiden.

Praxistipp: Denken Sie Ausdrücke in UTC und prüfen Sie unbedingt die tatsächliche Zeitzone der Deployment-Umgebung. Zur Orientierung: Die nächsten Ausführungszeitpunkte, die das Tool dieser Website anzeigt, beziehen sich auf die lokale Zeitzone Ihres Browsers, sodass Sie sie zum Vergleich mit der Serverzeitzone heranziehen können.

Ressourcen

Zeitplan-Sammlung

Rezepte zum sofortigen Kopieren

Syntax-Spickzettel

5 Felder und Sonderzeichen auf einen Blick

Makros & Aliase

Kurzformen wie @daily

Leitfäden

Praxisnahe Leitfäden, um cron richtig zu verstehen und Fehler zu vermeiden