Der Cron Trigger ist ein leistungsstärkerer, zeitbasierter Trigger als der Zeit Trigger. Hier kann ein Crontab ähnlicher Ausdruck eingerichtet werden, um die Aufgabe wiederholt auszulösen.
Der Cron Trigger verwendet die QUARTZ
Syntax ohne Sekunden in der folgenden Form:
<Minute> <Stunde> <TagDesMonat> <Monat> <TagDerWoche> <Jahr>
*
für jede Minute*
für jede Stunde*
für jeden Tag des Monats; ?
wenn dieser Wert ausgelassen und anstelle dessen <TagDerWoche>
verwendet wirdL
steht für den letzten Tag des MonatsW
steht für einen Tag von Montag bis Freitag innerhalb der Woche*
für jeden Monat*
für jeden Tag der Woche; ?
wenn dieser Wert ausgelassen und anstelle dessen <TagDesMonat>
verwendet wirdL
steht für den letzten Tag der Woche
Einer der beiden Werte <TagDesMonat>
und <TagDerWoche>
muss ?
sein, da sie sich gegenseitig widersprechen. Der Wert <Jahr>
kann weggelassen werden. Für jeden Wert kann ein Sternchen (*
) verwendet werden, um alle möglichen Werte anzugeben. Wertebereiche (z.B. 1-5), Listen (z.B. JAN, FEB, MAR) und inkrementelle Werte (z.B. 0/15 für 0, 15, 30, 45) sind ebenfalls erlaubt.
Das Quartz Cron Tutorial hat viele Hinweise, wie man einen Ausdruck erstellt.
0 8 * * ?
- jeden Tag um 8:00 Uhr.0 8 15,20 JAN ?
- Am 15. und 20. Januar um 8:00 Uhr.30 18 ? 4,5,6 6#1
- Am ersten Freitag um 18:30 Uhr im April, Mai und Juni.
Monatliche wiederholte Aufgaben für Tage, die nicht existieren, werden in diesem Monat nicht ausgeführt. Beispiel: 0 0 8 31 * ?
wird nur in den Monaten Januar, März, Mai, Juli, August, Oktober und Dezember ausgeführt werden. Wenn es gewünscht wird, die Aufgabe am letzten Tag jeden Monats auszuführen, kann man dafür die Syntax "L" benutzen, die für den "letzten Tag" steht - d.h. 0 0 8 L * ?
Aufgaben die Montags bis Freitags laufen werden fälschlicherweise auch am Samstag ausgeführt wenn der Freitag der letzte Arbeitstag des Monats ist.
Weitere Informationen finden Sie unter https://github.com/jmrozanec/cron-utils/issues.