Cron-Ausdruck erklären — Cron Parser mit nächsten Ausführungen
Cron-Ausdrücke mit 5/6 Feldern erklärt, mit den nächsten 5 Ausführungen und Zeitzonen
Verarbeitung im Browser · kein Hochladen
Form mit 5 Feldern: Minute Stunde Tag Monat Wochentag · Form mit 6 Feldern: Sekunde Minute Stunde Tag Monat Wochentag
Alle 5 Minuten
In Worten
Alle 5 Minuten
Nächste 5 Ausführungen
Was das Tool ist
Ein kurzer Cron-Ausdruck wie */5 * * * * ist kryptisch, selbst für die Person, die ihn vor ein paar Monaten geschrieben hat. Geben Sie ihn hier ein, und er wird als Satz ausgeschrieben. Außerdem werden die nächsten fünf tatsächlichen Ausführungszeiten für die gewählte Zeitzone berechnet. Der Satz stammt aus der Open-Source-Bibliothek cronstrue.
Anleitung
- Geben Sie einen Cron-Ausdruck ein oder klicken Sie auf ein Beispiel. Sowohl die Form mit 5 Feldern als auch die mit 6 Feldern inklusive Sekunden funktioniert.
- Lesen Sie die Bedeutung unter „In Worten“.
- Wählen Sie eine Zeitzone; die nächsten 5 Ausführungen werden dafür neu berechnet. Voreingestellt ist die Zone des Browsers.
- Bei einem Alias wie
@dailywird der dahinterstehende Standardausdruck daneben angezeigt.
So funktioniert es
- Reihenfolge der Felder: Fünf Felder sind Minute (0–59), Stunde (0–23), Tag (1–31), Monat (1–12) und Wochentag (0–7); sechs Felder stellen Sekunden (0–59) voran. Wochentag 0 und 7 sind beide Sonntag, 1 ist Montag (Unix-Cron und Spring). Das unterscheidet sich von Quartz, wo 1 Sonntag ist.
- Ein Feld kann
*, eine Zahl, einen Bereicha-b, eine Listea,bund Schritte*/n,a-b/nodera/nenthalten. Monat und Wochentag akzeptieren auch englische Abkürzungen wieJANundMON. Bei Tag und Wochentag wird?wie*behandelt. - Aliase:
@yearly(0 0 1 1 *),@monthly(0 0 1 * *),@weekly(0 0 * * 0),@daily(0 0 * * *) und@hourly(0 * * * *). - Ist weder der Tag des Monats noch der Wochentag
*, wird eine Zeit ausgeführt, wenn eines von beiden passt. - Die nächsten Ausführungen werden gefunden, indem die Uhr der gewählten Zone Feld für Feld durchlaufen wird, höchstens 8 Jahre im Voraus. Ein Datum, das nie eintritt, etwa der 30. Februar, führt stattdessen zu einer Meldung.
- Bei einem ungültigen Ausdruck erfahren Sie, welches Feld und welcher Wert das Problem ist.
Beispiele
| Ausdruck | Bedeutung |
|---|---|
*/5 * * * * |
Alle 5 Minuten |
0 9 * * 1-5 |
Montag bis Freitag um 09:00 |
0 0 9 * * 1-5 |
Sechs Felder: Montag bis Freitag um 09:00:00 |
30 2 1 * * |
Am 1. jedes Monats um 02:30 |
Hinweise
- Läuft der Server in einer anderen Zone als Ihr Browser, weichen auch die tatsächlichen Ausführungszeiten ab. Wählen Sie bei der Prüfung daher die Zone des Servers.
- Bei dichten Ausdrücken wie jede Minute oder jede Sekunde folgen die nächsten fünf Ausführungen einfach direkt aufeinander.
Häufige Fragen
Was ist der Unterschied zwischen 5 und 6 Feldern?
Fünf Felder sind Minute, Stunde, Tag, Monat und Wochentag. Bei sechs Feldern stehen die Sekunden vorne, also Sekunde, Minute, Stunde, Tag, Monat und Wochentag. Die Linux-Crontab verwendet fünf, Spring @Scheduled sechs Felder. Das Tool unterscheidet sie anhand der Feldanzahl. Wochentage sind wie bei Unix-Cron und Spring nummeriert, 0 und 7 sind Sonntag, 1 ist Montag. Quartz verwendet 1 = Sonntag bis 7 = Samstag, deshalb zeigt ein Ausdruck mit 6 Feldern, ? und numerischem Wochentag eine Warnung.
Kann das Tool Quartz-Ausdrücke lesen?
Ein Ausdruck mit 6 Feldern, dessen Wochentage als Namen wie MON oder FRI geschrieben sind, wird unverändert gelesen. Numerische Wochentage sind anders nummeriert (Quartz 1 = Sonntag, dieses Tool 0 und 7 = Sonntag, 1 = Montag) und lägen daher einen Tag daneben. Verwenden Sie also Namen oder ziehen Sie 1 ab. Ist der Ausdruck für Spring gedacht, das ebenfalls ? akzeptiert, gilt die Warnung nicht. Die Form mit 7 Feldern und einer Jahresangabe am Ende sowie die Notationen L, W und # werden nicht unterstützt.
Was passiert, wenn sowohl Tag des Monats als auch Wochentag gesetzt sind?
Es gelten die klassischen Cron-Regeln, eine Zeit wird also ausgeführt, wenn eines von beiden passt. 0 0 13 * 5 bedeutet zum Beispiel Mitternacht am 13. jedes Monats oder an jedem Freitag. Ist eines der beiden Felder *, ist nur das andere eine Bedingung.
Wie wird die Zeitumstellung behandelt?
Die Zeiten werden nach der Ortszeit der gewählten Zone berechnet. Eine Uhrzeit, die bei der Umstellung auf Sommerzeit übersprungen wird, entfällt an diesem Tag, und eine doppelt vorkommende Uhrzeit wird einmal ausgeführt, beim ersten Auftreten. Echte Scheduler können sich je nach Implementierung anders verhalten.
Werden Erweiterungen wie L, W und # unterstützt?
Nein. Verstanden werden Zahlen, Bereiche (-), Listen (,), Schritte (/), * und ?, Abkürzungen für Monate und Wochentage (JAN, MON) sowie die Aliase @hourly, @daily, @weekly, @monthly und @yearly. Alles andere wird als Fehler gemeldet.