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
- 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.
- Auf „Auswerten“ klicken Der Sinn des Plans erscheint in Worten. Prüfen Sie zuerst hier, ob Sie Ihren eigenen Ausdruck nicht falsch gelesen haben.
- 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.
- 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.
- 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
*/15und 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-5geschrieben, 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
Ü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.