CRON

Interpreter wyrażeń

sekundy
minuty
godziny
dni
miesiąca
miesiące
dni
tygodnia
(lata)
O sekundzie 0, po każdej 10 minucie zaczynając od 0 minuty.
Wyrażenia Cron są używane do konfigurowania instancji CronTrigger, podklasy org.quartz.Trigger. Wyrażenie cron to ciąg składający się z sześciu lub siedmiu subwyrażeń (pól), które opisują indywidualne szczegóły harmonogramu. Te pola, oddzielone białymi znakami, mogą zawierać dowolne z dozwolonych wartości w różnych kombinacjach dozwolonych znaków dla danego pola.
Opis
NazwaWymaganeDozwolone
wartości
Dozwolone
znaki specjalne

sekundy

Tak

0-59

, - * /

minuty

Tak

0-59

, - * /

godziny

Tak

0-23

, - * /

dni miesiąca

Tak

1-31

, - * ? / L W C

miesiące

Tak

0-11 lub JAN-DEC

, - * /

dni tygodnia

Tak

1-7 lub SUN-SAT

, - * ? / L C #

lata

Nie

brak lub 1970-2099

, - * /

Wyjaśnienie znaków specjalnych
ZnakWyjaśnienie

,

Oddziela kolejne wartości.

-

Określa zakres od do.

*

Wszystkie wartości pola, np.: w polu godzina oznacza "o każdej godzinie".

?

Przydatne w sytuacji, gdy konieczne jest określenie wartości w jednym z dwóch pól, w których znak jest dozwolony, ale nie w drugim. Na przykład, jeśli chcę, aby mechanizm uruchamiał się 5 dnia miesiąca, ale nie zależy mi na tym, który to będzie dzień tygodnia, umieszczę "5" w polu dotyczącym dnia miesiąca i "?" w polu dotyczącym dnia tygodnia.

/

Używany do określania kroków. Pierwsza wartość określa kiedy krok się zaczyna, druga wartość określa co ile krok się wykona, np.: "0/15" w polu minut oznacza minuty 0, 15, 30, 45, natomiast "5/15" oznacza wykonanie w minucie 5, 20, 35 i 50.

#

Hash "#" używany do określenia "n-tego" dnia miesiąca, np.: wartość 4#3 w polu dnia tygodnia oznacza trzeci czwartek miesiąca (dzień 4 = czwartek i #3 = trzeci czwartek miesiąca).

L

Litera "L" oznacza "ostatni" w polach dni tygodnia lub dni miesiąca. Na przykład "0 0 9 ? * 3L" oznacza ostatni wtorek każdego miesiąca o godzinie 9. Można także w polu dni miesiąca określić "LW", co oznacza ostatni dzień tygodnia miesiąca.

W

Określa dzień tygodnia (od poniedziałku do piątku) najbliższy podanemu dniu miesiąca. Na przykład "1W" oznacza "dzień roboczy najbliższy 1 dnia miesiąca". Jeśli pierwszy wypada w niedziele, to cron zostanie uruchomiony w poniedziałek 2 dnia miesiąca.

C

Ten skrót oznacza "kalendarz" i wskazuje, że wartości są obliczane z uwzględnieniem powiązanego kalendarza, jeśli taki istnieje. Gdy żaden kalendarz nie jest powiązany, traktowane jest to jak posiadanie kalendarza obejmującego wszystkie dni. Na przykład, wartość "3C" w polu dotyczącym dni miesiąca oznacza "pierwszy dzień uwzględniony w kalendarzu po 3 dniu miesiąca". Natomiast wartość "1C" w polu dotyczącym dni tygodnia oznacza "pierwszy dzień uwzględniony w kalendarzu w niedzielę lub po niej".

Przykłady
WyrażenieOpis

0 0 12 * * ?

Wykonaj codziennie o 12:00.

0 0/20 * * * ?

Wykonaj co 20 minut, w minutach 0, 20, 40.

0 15 10 * * ? 2023

Wykonaj o 10:15 codziennie w 2023 roku.

* 30 3 * * 1,7

Wykonaj co sekundę o 3:30 w sobotę i niedzielę.