Cron
Cron-Ausdruck-Parser
Einen Cron-Zeitplan im Klartext lesen und die nächsten Läufe sehen.
Fünf Felder: Minute, Stunde, Tag des Monats, Monat, Wochentag. Ein sechstes Feld am Anfang wird als Sekunden gelesen.
Über Cron-Ausdrücke
Ein Cron-Ausdruck besteht aus fünf Feldern, die beschreiben, wann ein Auftrag laufen soll: Minute, Stunde, Tag des Monats, Monat und Wochentag. Jedes Feld nimmt eine Zahl, eine Liste, einen Bereich oder eine Schrittweite wie */15 auf. Sie sind kompakt, aber leicht falsch zu lesen — besonders die beiden Tagesfelder, deren Zusammenspiel die meisten falsch einschätzen. Den Zeitplan ausgeschrieben und mit Datum zu sehen ist deshalb meist schneller, als ihn sich herzuleiten.
Über die fünf numerischen Felder hinaus akzeptieren die meisten Cron-Implementierungen — einschließlich des Parsers hinter diesem Tool — auch dreibuchstabige Namen für Monate und Wochentage (JAN, MON) statt Zahlen sowie eine Handvoll Kurzformen wie @daily, @hourly und @weekly, die zum entsprechenden numerischen Ausdruck expandieren. Diese existieren rein aus Gründen der Lesbarkeit; @daily und „0 0 * * *“ planen identisch. Allerdings unterstützt nicht jede Cron-Implementierung jede Kurzform, prüfen Sie also gegen die Dokumentation Ihres konkreten Schedulers, bevor Sie sich in der Produktion darauf verlassen.
Wo Sie darauf treffen
- Einen Crontab-Eintrag prüfen, bevor er auf einen Server kommt
- Einen Zeitplan in einem Kubernetes-CronJob oder einer CI-Pipeline lesen
- Herausfinden, warum ein nächtlicher Auftrag zu einer unerwarteten Stunde lief
- Einen neuen Backup- oder Aufräumzeitplan von Grund auf schreiben
Häufige Fragen
Was passiert, wenn ich Tag des Monats und Wochentag zugleich setze?
Sie werden mit ODER verknüpft, nicht mit UND — der Auftrag läuft, sobald eines von beiden zutrifft. „0 0 13 * 5“ läuft also am 13. jedes Monats und an jedem Freitag, nicht nur an einem Freitag, dem 13. Das ist der mit Abstand häufigste Cron-Fehler.
In welcher Zeitzone stehen die Laufzeiten?
In UTC. Echte Scheduler verwenden die Zeitzone der Maschine oder der Auftragsdefinition; läuft Ihr Server auf Ortszeit, verschieben sich die tatsächlichen Zeitpunkte. Prüfen Sie die Scheduler-Konfiguration, bevor Sie sich auf die hier gezeigte Stunde verlassen.
Werden Ausdrücke mit fünf und mit sechs Feldern unterstützt?
Ja. Fünf Felder sind das Standard-Unix-Cron, beginnend bei den Minuten. Ein sechstes Feld am Anfang ergänzt Sekunden — so erwarten es Quartz, Spring und mehrere Job-Bibliotheken.
Kann ich @daily oder MON statt Zahlen schreiben?
Ja. Dreibuchstabige Namen für Monate und Wochentage (JAN, MON und so weiter) sowie Kurzformen wie @daily, @hourly und @weekly werden hier akzeptiert und expandieren zu den entsprechenden numerischen Feldern — @daily ist identisch mit „0 0 * * *“. Diese sind weit verbreitet, aber nicht universell unterstützt: manche minimalen oder eingebetteten Cron-Implementierungen akzeptieren nur die reine fünfteilige numerische Form, es lohnt sich also, die Dokumentation Ihres tatsächlichen Schedulers zu prüfen, bevor Sie sich in der Produktion auf eine Kurzform verlassen.