Ein Cron-Ausdruck ist eine kompakte Möglichkeit, den wiederkehrenden Ausführungszeitplan einer Aufgabe zu beschreiben, verwendet in Unix-ähnlichen Systemen seit den 1970ern. Fünf durch Leerzeichen getrennte Felder können praktisch jeden regelmäßigen Zeitplan ausdrücken.
Die fünf Felder eines Ausdrucks
Ein Standard-Cron-Ausdruck sieht aus wie Minute Stunde Tag-des-Monats Monat Wochentag. Zum Beispiel bedeutet 30 14 * * 1 „um 14:30 Uhr jeden Montag" — Sternchen bedeuten „jeder beliebige Wert" für Tag des Monats und Monat.
Die Bedeutung von Schrägstrichen und Kommas
Ein Schrägstrich nach einem Sternchen, wie in */15 * * * *, bedeutet „alle 15 Einheiten" — in diesem Fall alle 15 Minuten. Ein Komma erlaubt es, mehrere konkrete Werte aufzulisten, zum Beispiel führt 0 9,18 * * * die Aufgabe zweimal täglich aus: um 9:00 und 18:00 Uhr.
Warum das Feld „Wochentag" am meisten verwirrt
Im Standard-Cron können sowohl das Feld „Tag des Monats" als auch „Wochentag" gleichzeitig anders als ein Sternchen gesetzt sein — in diesem Fall läuft die Aufgabe, wenn mindestens eine der beiden Bedingungen zutrifft (ein logisches ODER, kein UND), was der intuitiven Erwartung der meisten Menschen widerspricht.
Dieselbe Syntax, vom crontab bis zum Kubernetes-CronJob
Ein halbes Jahrhundert nach seinen Unix-Anfängen findet sich exakt dieselbe fünfteilige Syntax im CronJob-Objekt von Kubernetes wieder, das im deutschen Mittelstand und in vielen selbst gehosteten Infrastrukturen zum Standard geworden ist. Ein Zeitplan wie 0 3 * * * in einem CronJob-Manifest bedeutet exakt dasselbe wie in einer klassischen Unix-Crontab aus den 1980ern.
Wofür man das braucht
- Einen fremden Cron-Ausdruck in einer Serverkonfiguration oder CI/CD-Pipeline entschlüsseln.
- Einen geschriebenen Zeitplan vor dem Deployment in die Produktion überprüfen.
- Den genauen Zeitpunkt der nächsten Ausführungen einer Aufgabe planen.
Sommer-/Winterzeitumstellung und Cron
Läuft der Scheduler in einer Zeitzone mit Sommer-/Winterzeitumstellung, kann eine Aufgabe, die für eine nicht existierende Stunde geplant ist (z. B. 2:30 Uhr in der Nacht der Vorstellung der Uhren), an diesem Tag möglicherweise nicht starten, während eine für eine sich wiederholende Stunde geplante Aufgabe bei der Rückstellung zweimal laufen kann. Für kritische Aufgaben wählt man daher oft eine Zeit außerhalb des typischen Umstellungsfensters (z. B. Mitternacht oder 3-4 Uhr morgens) oder legt die Zeitzone explizit auf UTC fest.