Cron Ausdrucks Ersteller
Ein Cron Ausdruck ist eine Zeichenkette mit fünf Feldern (Minute, Stunde, Tag des Monats, Monat, Wochentag), die definiert, wann ein geplanter Job ausgeführt wird. */5 * * * * bedeutet alle 5 Minuten; 0 9 * * 1-5 bedeutet um 9 Uhr an Werktagen. Erstelle Ausdrücke interaktiv unten, lies die Beschreibung in Klartext und überprüfe die nächsten Ausführungen, bevor du sie implementierst.
Verwendung
- Wähle einen Preset oder beginne mit der Eingabe in die Felder
- Bearbeite die Felder einzeln. Jede Eingabe entspricht einem Cron Feld (Minute, Stunde, Tag, Monat, Wochentag)
- Lies die Beschreibung. Das Tool übersetzt deinen Ausdruck in Echtzeit in Klartext
- Überprüfe die nächsten Ausführungen. Bestätige, dass die Zeitplanung wie erwartet funktioniert
- Kopiere den Ausdruck und füge ihn in deine crontab, dein Kubernetes Manifest oder deine CI Konfiguration ein
Details zur Cron Syntax
Jedes der fünf Felder akzeptiert diese Wertetypen:
-
- für jeden möglichen Wert in diesem Feld
- 5 für einen bestimmten Wert
- 1,3,5 für eine Liste von Werten
- 1-5 für einen Bereich (inklusiv)
- */10 für einen Schritt (alle 10 Werte beginnend beim Minimum des Feldes)
- 5-20/3 für einen Schritt innerhalb eines Bereichs (5, 8, 11, 14, 17, 20)
Das Monatsfeld akzeptiert 1-12 oder dreibuchstabige Namen (JAN bis DEZ). Das Wochentagsfeld akzeptiert 0-6 (So=0) oder Namen (SON bis SAM).
Die gebräuchlichen Kurzaliase wie @daily (entspricht 0 0 * * *), @hourly (0 * * * *) und @weekly (0 0 * * 0) werden von den meisten Cron Implementierungen und von diesem Tool unterstützt.
Das verwirrendste Verhalten bei Cron ist die Interaktion zwischen Tag des Monats und Wochentag. Wenn beide Felder eingeschränkt sind (keines ist *), führt POSIX Cron den Job aus, wenn eine der Bedingungen zutrifft. Dies ist ODER Logik, nicht UND. Wenn du 0 0 15 * 5 konfigurierst, wird der Job um Mitternacht am 15. des Monats UND jeden Freitag ausgeführt.
Du musst die Ausführungen in deine Zeitzone umrechnen. Cron verwendet die Systemzeitzone. Wenn dein Server auf UTC eingestellt ist, führt 0 9 * * 1-5 um 9 Uhr UTC aus, nicht in deiner Ortszeit. Für bestimmte Zeitzonen setze die Variable TZ in der crontab oder verwende CRON_TZ, falls deine Implementierung dies unterstützt.
Gängige Presets
| Ausdruck | Beschreibung |
|---|---|
| * * * * * | Jede Minute |
| */5 * * * * | Alle 5 Minuten |
| */15 * * * * | Alle 15 Minuten |
| 0 * * * * | Jede Stunde |
| 0 0 * * * | Täglich um Mitternacht |
| 0 9 * * 1-5 | Werktags um 9 Uhr |
| 0 0 * * 0 | Wöchentlich (Sonntag) |
| 0 0 1 * * | Monatlich am 1. Tag |
Vor der Implementierung testen
Überprüfe immer die nächsten Ausführungen, bevor du einen Cron Ausdruck in Produktion nimmst. Was wie “alle 2 Stunden” aussieht, könnte nicht das sein, was du erwartest, wenn du vergisst, wie der Schritt Operator im Stundenfeld funktioniert. Verwende die interaktiven Felder oben, lies die Beschreibung in Klartext und bestätige die nächsten Ausführungszeiten.