CRON výraz

CRON výraz můžete použít při sestavování podmínky spuštění. Jedná se o řetězec sestávající se ze 7 částí, které reprezentují jednotlivé hodnoty časového plánu. Tato pole jsou oddělena mezerou a mohou obsahovat libovolnou z povolených hodnot včetně jejich kombinací.

CRON výraz může být jednoduchý jako * * * * ? * , ale také komplexní 0/5 14,18,3-39,52 * ? JAN,MAR,SEP MON-FRI 2012-2020

Pole

Vyžadováno

Hodnota

Povolené speciální znaky

Sekundy

Ano

0-59

, - * / R

Minuty

Ano

0-59

, - * / R

Hodiny

Ano

0-23

, - * / R

Den v měsíci

Ano

1-31

, - * / ? L W

Měsíc

Ano

0-11 nebo JAN-DEC

,-*/

Den v týdnu

Ano

1-7 nebo SUN-SAT

, - / ? L #

Rok

Ano

1970-2099

, - * /

Syntaxe cron výrazu je následující:

 

┌────────── Sekundy (0 - 59)

│  ┌────────── Minuty (0 - 59)

│  │  ┌────────── Hodiny (0 - 23)

│  │  │  ┌────────── Den v měsíci (1 - 31)

│  │  │  │  ┌────────── Měsíc (1 - 12 nebo JAN-DEC)

│  │  │  │  │  ┌────────── Den v týdnu (0 - 6 nebo SUN-SAT)(například 0 je stejné jako SUN)

│  │  │  │  │  │  ┌────────── Rok

│  │  │  │  │  │  │

*  *  *  *  *  ?  *

0 0 0 znamená půlnoc (0 sekund, 0 minut, 0 hodin).

? (otazník) použijte pro hodnotu, kterou nemůžete definovat, protože jste ji již definovali v jiném poli (například den v měsíci nebo den v týdnu).

* (hvězdička) představuje každou výskyt – tedy každou sekundu, minutu, hodinu, den v měsíci, den v týdnu, rok.

SUN znamená neděle.

icon_details_hoverPoznámka:

U názvů dnů v týdnů a měsíců se nerozlišuje velikost písmen. MON se akceptujte stejně jako mon, i jan bude vyhodnocen stejně jako JAN.

Speciální znaky:

Čárka (,)

Čárku použijte pro oddělení jednotlivých položek v seznamu. Příklad: použití "MON,WED,FRI" v šestém poli (den v týdnu) znamená pondělí, čtvrtek a pátek.

Spojovník (-)

Definuje rozsah. Například 2012-2020 znamená každý rok mezi 2012 a 2020, včetně.

Hvězdička (*)

Použijte jako zástupný pro všechny hodnoty. Příklad: * v druhém poli znamená provedení každou minutu. Mějte na paměti, že hvězdičku nelze uplatnit na den v týdnu.

Otazník (?)

Při definování konkrétního dne musíte specifikovat, zda jde o den v měsíci nebo týdnu. Nelze kombinovat obě možnosti. Pokud definujete den v měsíci, v poli pro den v týdnu musíte použít ?, a opačně. Příklad: pokud chcete zajistit spuštění konkrétní den v měsíci, řekneme 10., ale nezáleží vám na tom, jaký je to den v týdnu, zadejte do čtvrtého pole (den v měsíci) hodnotu 10 a a do šestého pole (den v týdnu) zadejte ? (otazník).

Hash (#)

Se používá pro definování  “n-tého” dne v měsíci. Příklad: 4#3 znamená třetí středu v měsíci (4.den = čtvrtek a #3 = 3. čtvrtek v měsíci). Pokud zadáte #5 a měsíc nemá tolik dní, podmínka se neuplatní.

Lomítko (/)

Použijte pro inkrementování rozsahu (-). Příklad: 3-59/15 v druhém poli (minuty) představuje třetí minutu v hodině a každých dalších 15 minut.

Poslední (L)

Při použití v pátém poli (dnu v týdnu) můžete vytvořit specifickou konstrukci jako je například poslední pátek (5L) v měsíci. Pokud L použijete ve třetím poli (den v měsíci), vyfiltrujete například 31 pro v leden, 28 pro únor atp.

Pracovní den v týdnu (W)

Znak W povoluje jako den v měsíci pouze pracovní den (pondělí - pátek). Pokud den v měsíci připadne na víkend, použije se nejbližší pracovní den. Příklad: zadáte-li 15W ve čtvrtém poli (den v měsíci) a 15. bude sobota, podmínka se aktivuje již 14. v pátek. V případě, že 15. připadne na neděli, podmínka se spustí v pondělí 16. Nicméně, pokud zadáte 1W jako den v měsíci, a 1. bude sobota, podmínka se aktivuje 3. v pondělí.

icon_details_hoverPoznámka:

Znaky L a W můžete kombinovat v poli pro den v měsíci. Použitím hodnoty LW vyfiltrujete poslední pracovní den v měsíci..

Náhodně (R)

R představuje speciální znak ERA CRON výrazu, pomocí kterého zajistíte provedení v náhodný čas. Například R 0 0 * * ? * znamená, že se podmínka spustí každý den v 00:00, ale v náhodnou sekundu (0-59).

validation-status-icon-warning Důležité:

Při definování intervalu připojení ERA Agenta doporučujeme používat R (náhodný interval) pro zabránění připojení všech agentů v jeden čas.

Níže uvádíme reálné příklady:

Cron výraz

Význam

0 0 12 * * ?

Spustí se každý den ve 12pm (v poledne).

0 15 10 ? * *

Spustí se každý den v 10:15am.

0 15 10 * * ?

Spustí se každý den v 10:15am.

0 15 10 * * ? *

Spustí se každý den v 10:15am.

0 15 10 * * ? 2016

Spustí se každý den v 10:15am po celý rok 2016.

0 * 14 * * ?

Spustí se každou minutu mezi 2pm a 2:59pm, každý den.

0 0/5 14 * * ?

Spustí se každých 5 minut mezi 2pm a 2:55pm, každý den.

0 0/5 14,18 * * ?

Spustí se každých 5 minut mezi 2pm a 2:55pm, a každých 5 minut mezi 6pm a 6:55pm, každý den.

0 0-5 14 * * ?

Spustí se každou minutu mezi 2pm a 2:05pm, každý den.

0 10,44 14 ? 3 WED

Spustí se v 2:10pm a 2:44pm, každou středu v březnu.

0 15 10 ? * MON-FRI

Spustí se v 10:15am v pondělí, úterý, středu, čtvrtek a pátek.

0 15 10 15 * ?

Spustí se v 10:15am každý 15. den v měsíci.

0 15 10 L * ?

Spustí se v 10:15am poslední den v měsíci.

0 15 10 ? * 6L

Spustí se v 10:15am poslední pátek v měsíci.

0 15 10 ? * 6L

Spustí se v 10:15am poslední pátek v měsíci.

0 15 10 ? * 6L 2016-2020

Spustí se v 10:15am poslední pátek v měsíci v roce 2016, 2017, 2018, 2019 a 2020.

0 15 10 ? * 6#3

Spustí se v 10:15am třetí pátek v měsíci.

0 0 12 1/5 * ?

Spustí se v 12pm (v poledne) každý pátý den v měsíci, počínaje prvním dnem v měsíci.

0 11 11 11 11 ?

Spustí se každého 11. listopadu v 11:11am.

0 0 * * * ? *

Spustí se opakovaně každou hodinu.