Was ein Cron-Ausdruck bedeutet
Ein Standard-Cron-Ausdruck hat fünf durch Leerzeichen getrennte Felder: Minute, Stunde, Tag des Monats, Monat und Wochentag. Ein Sternchen steht für jeden Wert, ein Komma trennt eine Liste (1,15), ein Bindestrich markiert einen Bereich (9-17) und ein Schrägstrich legt eine Schrittweite fest (*/15 heißt alle 15 Minuten). 30 2 * * 1-5 läuft also nachts um 2:30 Uhr von Montag bis Freitag.
Füge einen beliebigen Ausdruck ein, und das Tool beschreibt ihn in einem Satz, listet jedes Feld auf und berechnet die nächsten zehn Ausführungszeiten. Kurzformen wie @daily und @hourly werden ebenfalls verstanden. Stimmt etwas nicht, nennt die Meldung das Feld und die Position statt eines vagen Syntaxfehlers.
Fallen, in die auch Erfahrene tappen
Sind sowohl Tag des Monats als auch Wochentag gesetzt, läuft das klassische Cron an Tagen, die zu einem der beiden passen, nicht zu beiden: 0 0 13 * 5 läuft an jedem 13. und an jedem Freitag. Beginnt eines der beiden Felder mit einem Sternchen, wie bei */2, müssen beide passen. Die Erklärung weist darauf hin, sobald das zutrifft.
Cron nutzt die Zeitzone des Rechners, auf dem es läuft. Ein Job um 2:30 Uhr läuft in vielen Ländern in der Nacht nicht, in der die Uhren vorgestellt werden, und ein Job um 1:30 Uhr kann dieselbe Stunde zweimal erleben, wenn die Uhren zurückgestellt werden. Wähle in der Liste der Ausführungen die Zeitzone deines Servers, dann siehst du genau, welche Tage betroffen sind. Monate ohne den 31. werden einfach übersprungen.
Standard, Sekunden und Quartz
Linux crontab, Kubernetes CronJobs und GitHub Actions nutzen die Form mit fünf Feldern. Manche Bibliotheken setzen ein Sekundenfeld davor. Quartz, das viele Java-Scheduler verwenden, hat Sekunden, ein optionales Jahr, zählt die Wochentage von 1 bis 7 beginnend mit Sonntag und verlangt ? in einem der Tagesfelder. Dazu kommen L für den letzten Tag, W für den nächstgelegenen Werktag und # für den n-ten Wochentag im Monat. Wähle oben die Syntax; beim Wechsel wird der Ausdruck umgewandelt, soweit das möglich ist.