Ein Standard-Cron-Ausdruck besteht aus fünf durch Leerzeichen getrennten Feldern: Minute (0–59), Stunde (0–23), Tag des Monats (1–31), Monat (1–12) und Wochentag (0–6, 0 = Sonntag; die meisten Implementierungen akzeptieren auch 7). Jedes Feld kennt * für jeden Wert, Kommas für Listen (1,15), Bindestriche für Bereiche (1-5) und Schrägstriche für Schritte (*/10 heißt alle 10 Einheiten). 0 9 * * 1-5 bedeutet also werktags um 9:00, */5 * * * * alle fünf Minuten und 0 0 1 * * Mitternacht am Ersten jedes Monats. Bei sechs Feldern gilt das erste als Sekunden – ein Format, das in Node.js-Schedulern üblich ist.
Das Tool übersetzt den Ausdruck in Klartext und listet die nächsten fünf tatsächlichen Ausführungszeiten, damit du den Zeitplan vor dem Deployment prüfen kannst. Der Klassiker ist das Vertauschen von Minute und Stunde: Für täglich 2:30 Uhr braucht es 30 2 * * *, nicht 2 30 * * * (ungültig, da das Stundenfeld bei 23 endet). Eine weitere Falle: Schritte beginnen in jeder Einheit neu, */45 * * * * läuft zur Minute 0 und 45 jeder Stunde – der Abstand beträgt also nicht immer 45 Minuten.
Vorsicht, wenn Tag des Monats und Wochentag gleichzeitig eingeschränkt sind. Im Standard-Cron (Vixie) wird der Job ausgeführt, sobald eines der beiden Felder passt, nicht beide. 0 0 13 * 5 läuft daher an jedem 13. und an jedem Freitag, nicht nur an Freitag, dem 13. Plattformen mit Quartz-Syntax (Java und manche Cloud-Dienste) nutzen sieben Felder und ? für „kein bestimmter Wert“, was von der hier verwendeten Unix-Syntax abweicht.
Zeitzonen verursachen die meisten Planungsfehler. Das Tool zeigt die nächsten Läufe in der Zeitzone deines Browsers, Server, GitHub Actions und viele Cloud-Scheduler laufen aber standardmäßig in UTC. Für 9:00 Uhr deutscher Sommerzeit (UTC+2) braucht ein UTC-Scheduler 0 7 * * *, im Winter (UTC+1) 0 8 * * *. Prüfe vor dem Livegang immer die Zeitzone der Zielplattform.