CRON

Ausdruck-Interpreter

Sekunden
Minuten
Stunden
Tage
des Monats
Monate
Tage
der Woche
(Jahre)
Um Sekunde 0, alle 10 Minute beginnend ab 0 Minute, jede Stunde.
Dieses Tool interpretiert den Quartz-Dialekt von Cron-Ausdrücken (org.quartz.CronExpression): sechs oder sieben durch Leerzeichen getrennte Felder - Sekunden, Minuten, Stunden, Tag des Monats, Monat, Wochentag und ein optionales Jahr. Genau eines der Felder Tag des Monats und Wochentag muss '?' sein, daher wird ein Ausdruck wie '0 0 0 * * *' hier abgelehnt, obwohl andere Scheduler ihn akzeptieren. Siehe "Andere Cron-Dialekte" unten, um zu sehen, wie sich Springs CronExpression und der klassische Unix-Cron unterscheiden.
Beschreibung
NameErforderlichErlaubt
Werte
Erlaubt
Sonderzeichen

Sekunden

Ja

0-59

, - * /

Minuten

Ja

0-59

, - * /

Stunden

Ja

0-23

, - * /

Tage des Monats

Ja

1-31

, - * ? / L W

Monate

Ja

1-12 oder JAN-DEC

, - * /

Tage der Woche

Ja

1-7 oder SUN-SAT

1 = Sonntag, 7 = Samstag

, - * ? / L #

Jahre

Nein

leer oder 1970-2099

, - * /

Erklärung der Sonderzeichen
ZeichenErklärung

,

Trennt aufeinanderfolgende Werte.

-

Gibt einen Bereich von-bis an.

*

Alle Werte des Feldes, z. B. im Stundenfeld bedeutet es 'jede Stunde'.

?

Nützlich, wenn in einem von zwei Feldern, in denen das Zeichen erlaubt ist, ein Wert angegeben werden muss, im anderen jedoch nicht. Wenn der Trigger beispielsweise am 5. Tag des Monats ausgeführt werden soll, der Wochentag aber keine Rolle spielt, trägt man '5' in das Feld Tag des Monats und '?' in das Feld Wochentag ein. In diesem Dialekt muss genau eines der Felder Tag des Monats und Wochentag '?' sein - ein Wert in beiden Feldern, oder '*' in beiden, wird abgelehnt.

/

Wird verwendet, um Schritte anzugeben. Der erste Wert gibt an, wann der Schritt beginnt, und der zweite Wert gibt an, wie oft der Schritt ausgeführt wird, z. B. bedeutet '0/15' im Minutenfeld die Minuten 0, 15, 30, 45, während '5/15' die Ausführung in den Minuten 5, 20, 35 und 50 bedeutet.

#

Das Rautezeichen '#' wird verwendet, um den 'n-ten' Tag des Monats anzugeben, z. B. bedeutet der Wert '4#3' im Wochentagsfeld den dritten Mittwoch des Monats (Tag 4 = Mittwoch und #3 = dritter Mittwoch des Monats).

L

Der Buchstabe 'L' bedeutet 'letzter' in den Feldern Wochentag oder Tag des Monats. Zum Beispiel bedeutet '0 0 9 ? * 3L' den letzten Dienstag jedes Monats um 9 Uhr. Im Feld Tag des Monats kann man auch 'LW' angeben, was den letzten Werktag des Monats bedeutet. Allein im Wochentagsfeld verwendet (nur 'L', ohne vorangestellten Tag), bedeutet es Samstag (Tag 7), nicht 'der letzte Tag der Woche'.

W

Gibt den nächstgelegenen Werktag (Montag bis Freitag) zum angegebenen Tag des Monats an. Zum Beispiel bedeutet '1W' 'den Werktag, der dem 1. Tag des Monats am nächsten liegt'. Fällt der 1. auf einen Sonntag, wird der Cron am Montag, dem 2. des Monats, ausgeführt.

Beispiele
AusdruckBeschreibung

0 0 12 * * ?

Täglich um 12:00 Uhr ausführen.

0 0/20 * * * ?

Alle 20 Minuten ausführen, in den Minuten 0, 20, 40.

0 15 10 * * ? 2023

Täglich um 10:15 Uhr im Jahr 2023 ausführen.

* 30 3 ? * 1,7

Jede Sekunde um 3:30 Uhr am Samstag und Sonntag ausführen.

Andere Cron-Dialekte
Dieses Tool (Quartz)Spring CronExpressionKlassischer Unix-Cron

Anzahl der Felder

6 oder 7

6

5, keine Sekunden

'?' bei Tag des Monats / Wochentag

in genau einem Feld erforderlich

optional, wirkt wie '*'

nicht unterstützt

Tag des Monats und Wochentag zusammen

abgelehnt

erlaubt - beide müssen zutreffen (UND)

erlaubt - eines reicht (ODER)

Nummerierung der Wochentage

1 = Sonntag … 7 = Samstag

0 oder 7 = Sonntag, 1 = Montag

0 oder 7 = Sonntag, 1 = Montag