Cron-Ausdruck-Parser & Nächste-Ausführung-Rechner

Analysiert einen Cron-Ausdruck (Minute Stunde Tag Monat Wochentag) und zeigt den Zeitplan in verständlicher Sprache. Unterstützt Schritte, Bereiche und Listen und berechnet die nächsten 5 Ausführungszeiten. Praktisch zum Lesen einer crontab oder eines GitHub-Actions-"schedule".

Cron-Ausdruck-Syntax (5 Felder)

Ein Cron-Ausdruck besteht aus 5 durch Leerzeichen getrennten Feldern, von links nach rechts: Minute, Stunde, Tag des Monats, Monat und Wochentag. Jedes Feld akzeptiert die folgenden Sonderzeichen.

Position Feld Erlaubte Werte
1 Minute 0-59
2 Stunde 0-23
3 Tag des Monats 1-31
4 Monat 1-12
5 Wochentag 0-7

Der Wochentag ist normalerweise 0 = Sonntag bis 6 = Samstag, aber dieses Tool akzeptiert auch 7 als Alias für Sonntag, wie es einige Cron-Implementierungen verwenden (wird intern wie 0 behandelt).

Jedes Feld akzeptiert "*" (jeder Wert), durch Kommas getrennte Listen (1,15,30), Bereiche mit Bindestrich (1-5) und Schritte mit Schrägstrich (*/15, 1-30/5) – diese lassen sich frei kombinieren.

Häufige Cron-Muster

Cron-Ausdruck Bedeutung
* * * * * Läuft jede Minute.
*/5 * * * * Läuft alle 5 Minuten.
0 * * * * Läuft einmal pro Stunde, zur Minute 0.
0 0 * * * Läuft täglich um Mitternacht (00:00).
0 9 * * 1-5 Läuft um 9 Uhr an Werktagen (Montag bis Freitag).
0 0 1 * * Läuft um Mitternacht am 1. jedes Monats.
0 0 1 1 * Läuft um Mitternacht am 1. Januar jedes Jahres.
*/15 9-17 * * 1-5 Läuft alle 15 Minuten zwischen 9 und 17 Uhr an Werktagen.

Was ein Cron-Ausdruck ist

Ein Cron-Ausdruck sagt in einer einzigen Zeile, wann eine wiederkehrende Aufgabe laufen soll. Fünf Felder – Minute, Stunde, Tag des Monats, Monat, Wochentag – stehen von links her, durch Leerzeichen getrennt, und jedes darf * für jeden Wert, eine kommagetrennte Aufzählung, einen Bereich mit Bindestrich und einen Schritt mit Schrägstrich verbinden. */15 9-17 * * 1-5 heißt demnach „alle fünfzehn Minuten von neun bis siebzehn Uhr, Montag bis Freitag“.

Dieses Werkzeug liest die Eingabe und ermittelt, **nachdem es den Plan in Worte gefasst hat, die nächsten fünf Ausführungszeitpunkte** von jetzt an gerechnet. Die Aufschlüsselung nach Feldern steht daneben, sodass Sie sehen, welcher Teil wirkt. Der Wochentag läuft standardmäßig von 0 für Sonntag bis 6 für Samstag, doch wird auch die von manchen Umsetzungen benutzte Schreibweise 7 für Sonntag angenommen und innerlich als 0 behandelt. Die Suche nach künftigen Läufen reicht etwa vier Jahre voraus; findet sich darin nichts, so wird das gesagt.

So benutzen Sie den Cron-Leser

  1. Den Ausdruck eingeben Geben Sie die fünf Felder – Minute, Stunde, Tag, Monat, Wochentag – durch Leerzeichen getrennt an. Eine falsche Feldzahl oder ein Wert außerhalb des Bereichs führt zu einem Hinweis.
  2. Auf „Auswerten“ klicken Der Sinn des Plans erscheint in Worten. Prüfen Sie zuerst hier, ob Sie Ihren eigenen Ausdruck nicht falsch gelesen haben.
  3. Die Aufschlüsselung durchsehen Wofür Minute, Stunde, Tag, Monat und Wochentag jeweils stehen, wird aufgelistet. Es zeigt jedes Feld, das einen nicht beabsichtigten Wert trägt.
  4. Die kommenden Läufe lesen Die nächsten fünf Zeitpunkte erscheinen als Datum und Uhrzeit. Eine Abweichung von der Absicht – etwa der 31. in Monaten, die keinen haben – tritt als greifbares Datum hervor.
  5. Bei den gängigen Mustern abschreiben Eine Tabelle sammelt die vertrauten: jede Minute, alle fünf Minuten, zur vollen Stunde, neun Uhr an Werktagen. Vom nächstliegenden auszugehen und es abzuwandeln, ist der schnelle Weg.

Tipps für die Nutzung

  • Felder lassen sich frei kombinieren aus durch Kommas getrennten Listen, Bereichen mit Bindestrich und Schritten mit Schrägstrich, wie in "*/15 9-17 * * 1-5".
  • Der Wochentag ist normalerweise 0-6 (Sonntag bis Samstag), aber dieses Tool akzeptiert auch die 7 als gängigen Alias für Sonntag, den manche Cron-Implementierungen verwenden.
  • Sind sowohl Tag des Monats als auch Wochentag eingeschränkt (nicht "*"), behandelt Standard-Cron dies als ODER-Bedingung: Der Job läuft, wenn eine der beiden Bedingungen zutrifft.
  • Der "schedule"-Trigger von GitHub Actions verwendet dieselbe 5-Felder-Cron-Syntax wie dieses Tool und eignet sich damit auch zur Prüfung, wann genau ein Workflow läuft.
  • Die tatsächliche Ausführungszeit hängt von der Zeitzoneneinstellung des Servers ab, daher lohnt es sich, nach dem Bearbeiten einer crontab auch die aktuelle Serverzeit zu prüfen.

Wofür sich der Cron-Leser eignet

Den Sinn prüfen, ehe er in die crontab kommt

Vor dem Eintragen auf dem Server ausgewertet, wehrt er die Missgeschicke ab, dass eine Aufgabe weit öfter läuft als gemeint – oder überhaupt nicht.

Einen Zeitplan in GitHub Actions prüfen

Der Ausdruck unter schedule eines Arbeitsablaufs nutzt dieselbe Fünf-Feld-Schreibweise. Die Liste der kommenden Läufe zeigt, ob der Abstand der beabsichtigte ist.

Einen fremden Ausdruck entziffern

Trägt eine übernommene Einstellung etwas wie 0 */6 * * *, so sagt Ihnen die Übersetzung in Worte sogleich, zu welchen Stunden sie auslöst.

Einen verfehlten Lauf untersuchen

Lief eine Aufgabe nicht zur Stunde, zu der sie sollte, so trennt die Liste der kommenden Läufe „der Ausdruck ist die Ursache“ von „etwas anderes ist es“.

Wenn Sie die Tage zwischen Läufen zählen wollen

Um zu zählen, wie lange es bis zum nächsten Lauf ist, nehmen Sie den Countdown-Zähler; um in Werktagen zu zählen, die Werktagsberechnung.

Begriffe rund um cron

cron
Die Einrichtung unixartiger Systeme, Aufgaben zu festgesetzten Zeiten wiederholt auszuführen. Die Tabelle, die jede Aufgabe mit ihrem Zeitplan paart, heißt crontab.
Feld
Jedes durch Leerzeichen getrennte Element eines Cron-Ausdrucks. Von links sind es Minute (0–59), Stunde (0–23), Tag des Monats (1–31), Monat (1–12) und Wochentag (0–6).
Sternchen
Steht für jeden Wert, den das Feld annehmen kann. Im Minutenfeld heißt es jede Minute, im Monatsfeld jeden Monat.
Schritt
Als */15 und dergleichen geschrieben, um einen Abstand zu nennen. Er greift Werte über den Bereich hinweg in festem Takt heraus – etwa alle fünfzehn Minuten.
Bereich
Als 1-5 geschrieben, um eine Folge aufeinanderfolgender Werte zusammenzufassen. Im Wochentagsfeld ist das Montag bis Freitag, im Stundenfeld ein Uhr bis fünf.
Nummerierung der Wochentage
0 ist Sonntag, 6 ist Samstag. Manche Umsetzungen nehmen auch 7 für Sonntag an, und dieses Werkzeug behandelt 7 wie 0.
Zeitzone
cron wird gewöhnlich in der Zeit der Umgebung gelesen, in der es läuft. Weicht die Uhreinstellung eines Servers von der angenommenen ab, so löst derselbe Ausdruck zu anderer Stunde aus.

Häufig gestellte Fragen

Ja. Die Standard-Cron-Spezifikation verwendet 0 für Sonntag, aber manche Implementierungen (z. B. Vixie-Cron) akzeptieren auch 7 als alternative Schreibweise für Sonntag. Dieses Tool interpretiert beide als Sonntag.

Es geht nicht um Vorrang, sondern um eine ODER-Bedingung. Sind sowohl Tag des Monats als auch Wochentag eingeschränkt (nicht "*"), läuft der Job an jedem Tag, der eine der beiden Bedingungen erfüllt. Ist nur eines der beiden Felder eingeschränkt, gilt nur diese Bedingung.

Das grundlegende 5-Felder-Format (Minute Stunde Tag Monat Wochentag) ist identisch. Der wesentliche Unterschied: GitHub-Actions-Zeitpläne werden immer in UTC ausgewertet, und die tatsächliche Ausführung kann sich um mehrere Minuten bis mehrere Zehnerminuten verzögern – anders als bei einer Server-crontab.

Ja, Schrittwerte (ein Startwert mit Schrägstrich oder */Intervall) lassen sich in allen fünf Feldern verwenden. Bei Feldern mit kleinem Wertebereich, wie Monat oder Wochentag, sind die praktisch sinnvollen Kombinationen jedoch begrenzt.
Tool-kun

Übrigens – Ein halbes Jahrhundert Cron

Der Name „cron" soll vom griechischen Wort Chronos für „Zeit" stammen und ist seit den frühen Tagen von UNIX in den 1970er-Jahren der klassische Job-Scheduler. Seine kompakte Syntax aus fünf Feldern kann alles ausdrücken, von „jede Minute" bis „ein bestimmtes Datum und eine bestimmte Uhrzeit einmal im Jahr", und wird fast ein halbes Jahrhundert später immer noch breit eingesetzt.

Heute wird dieselbe 5-Felder-Cron-Syntax nicht nur in Linux-crontabs verwendet, sondern auch in zahlreichen CI/CD-Tools und Container-Plattformen wie GitHub Actions, GitLab CI und Kubernetes-CronJobs direkt für die Zeitplankonfiguration übernommen. Es ist ein bemerkenswertes Beispiel dafür, wie eine in der UNIX-Ära entworfene Syntax auch in cloud-nativen Umgebungen unverändert weiterlebt.

Einer der tückischsten Aspekte der Cron-Syntax ist ihr Verhalten, wenn Tag des Monats und Wochentag gleichzeitig gesetzt sind. Man nimmt leicht eine UND-Bedingung an (beide müssen erfüllt sein), tatsächlich gilt aber eine ODER-Bedingung (eine der beiden genügt) – eine häufige Ursache dafür, dass Jobs öfter laufen als beabsichtigt.