Cron-Ausdruck-Generator und Erklärer

Füge einen Cron-Ausdruck ein und sieh auf Deutsch, was er macht, Feld für Feld, und wann er in der gewählten Zeitzone als Nächstes läuft. Funktioniert mit crontab, Kubernetes, GitHub Actions und Quartz. Du kannst den Ausdruck auch aus dem gewünschten Zeitplan erstellen.

Format
Häufige Beispiele

Ausdruck eingeben oder einfügen

Oder wähle eines der Beispiele. Die Erklärung und die nächsten Ausführungen erscheinen hier.

Ausdruck erstellen

Wähle Häufigkeit und Uhrzeit. Der Ausdruck kommt im oben gewählten Format.

Häufigkeit
Tage
0 9 * * 1-5Um 09:00 Uhr, von Montag bis Freitag

Was ist ein Cron-Ausdruck

Eine Zeile aus Feldern, getrennt durch Leerzeichen, die festlegt, wann ein Job läuft. Linux-crontab, der Kubernetes-CronJob und der Schedule von GitHub Actions nutzen 5 Felder. Quartz, ein Java-Scheduler, ergänzt vorne die Sekunden und hinten ein optionales Jahr.

Die 5 Felder von Standard-Cron

Die Reihenfolge ist immer Minute, Stunde, Tag des Monats, Monat und Wochentag. 30 9 * * 1 heißt Minute 30, Stunde 9, jeder Tag des Monats, jeder Monat, Montag.

FeldWerte
Minute0 bis 59
Stunde0 bis 23
Tag des Monats1 bis 31
Monat1 bis 12 oder JAN bis DEC
Wochentag0 bis 6 oder SUN bis SAT (0 ist Sonntag)

Sternchen, Komma, Bindestrich und Schrägstrich

  • * passt auf jeden Wert des Felds.
  • Ein Komma trennt Werte: 0,30 bei den Minuten läuft in Minute 0 und 30.
  • Ein Bindestrich markiert einen Bereich: 1-5 beim Wochentag ist Montag bis Freitag.
  • Ein Schrägstrich setzt den Schritt: */15 bei den Minuten läuft alle 15 Minuten, 9-17/2 bei den Stunden um 9, 11, 13, 15 und 17 Uhr.

Was bei Quartz anders ist

Das erste Feld sind die Sekunden, und Sonntag ist 1 (Samstag ist 7). Eines der Tagesfelder muss ? sein, was kein Wert bedeutet. Quartz kennt außerdem L für den letzten Tag des Monats, LW für den letzten Werktag, 15W für den Werktag, der dem 15. am nächsten liegt, 6L für den letzten Freitag und 6#3 für den dritten Freitag im Monat.

Zeitzone und Sommerzeit

Der Ausdruck enthält keine Zeitzone. crontab nutzt die des Servers, GitHub Actions nutzt UTC und Kubernetes die des Controllers, außer spec.timeZone ist gesetzt. Soll ein Job um 9 Uhr in Berlin (UTC+2 im Sommer) auf einem Scheduler in UTC laufen, ist die Stunde 7. In Zeitzonen mit Sommerzeit gibt es eine Uhrzeit am Tag der Umstellung auf Sommerzeit manchmal nicht, oder sie kommt beim Zurückstellen zweimal vor. Die Liste der Ausführungen markiert beide Fälle.

Häufige Fragen zu Cron-Ausdrücken

Was beim Planen von Jobs in crontab, Kubernetes, GitHub Actions und Quartz immer wieder gefragt wird.