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. |
Tipps
- 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.
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.