Parser cron výrazov

Rozložte cron plán na zrozumiteľný popis jednotlivých polí a zobrazte si najbližšie časy spustenia priamo v prehliadači.

Cron výraz

Nasledujúce spustenia

(váš lokálny čas)

Zadajte cron výraz na jeho analýzu.

Váš cron výraz sa spracováva priamo vo vašom prehliadači. Do služby BroBroGo sa nič neodosiela.

Časté otázky

Akú syntax cronu tento nástroj podporuje?

Štandardný 5-poľový cron – minúta, hodina, deň v mesiaci, mesiac a deň v týždni – vrátane rozsahov (1-5), krokov (*/15), zoznamov (1,15), pomenovaných mesiacov a dní v týždni (JAN, MON) a skratiek @yearly/@monthly/@weekly/@daily/@hourly. Jedno dôležité pravidlo, na ktoré sa často zabúda: ak sú obmedzené aj deň v mesiaci, aj deň v týždni (nie sú *), stačí zhoda na ktoromkoľvek z nich – nemusia platiť súčasne.

V akom časovom pásme sa zobrazujú nasledujúce časy spustenia?

Miestne časové pásmo vášho prehliadača – rovnaké, aké používajú vaše systémové hodiny. Štandardný cron sám o sebe neobsahuje informáciu o časovom pásme; o tom rozhoduje plánovač úloh, ktorý ho spúšťa. Tieto časy preto berte ako náhľad vášho vlastného lokálneho plánu, nie nevyhnutne plánu na serveri.

Prečo sa zobrazuje, že tento plán nemôže nikdy nastať?

Zvyčajne ide o hodnotu dňa v mesiaci, ktorá neexistuje v každom vybranom mesiaci – napríklad 31. deň, pričom v poli mesiacov je apríl, jún, september alebo november. Vyberte deň, ktorý existuje vo všetkých uvedených mesiacoch, alebo rozdeľte plán do samostatných výrazov.

Rozklad a analýza cron výrazov

Plánovanie úloh pomocou cron výrazov je základným kameňom automatizácie v operačných systémoch a aplikačných prostrediach. Správna interpretácia týchto výrazov je kľúčová pre vývojárov, ktorí potrebujú overiť konfigurácie plánovaných úloh, pracovníkov prevádzky spravujúcich naplánované procesy a technickú podporu pri riešení problémov s neočakávaným spúšťaním úloh.

Tento online nástroj slúži na analýzu a rozklad 5-poľových cron výrazov na ich jednotlivé komponenty. Používateľovi poskytuje okamžitý prehľad o tom, čo každá časť plánu znamená, a zároveň vypočítava zoznam nadchádzajúcich časov, kedy sa daná úloha reálne spustí.

Vstupné parametre a podporovaná syntax

Nástroj pracuje s dvoma hlavnými vstupmi, ktoré definujú správanie analýzy:

  • Cron výraz: Jednoriadkový textový vstup, ktorý reprezentuje plán spúšťania. Podporovaná je štandardná syntax s piatimi poľami v poradí: minúta, hodina, deň v mesiaci, mesiac a deň v týždni.
  • Počet: Číselný vstup, ktorým je možné nastaviť množstvo zobrazených budúcich časov spustenia v rozsahu od 1 do 20.

Nástroj plne podporuje nasledovné syntaktické konštrukcie:

  • Rozsahy: Napríklad 1-5 pre definovanie súvislého intervalu.
  • Kroky: Napríklad */15 pre opakovanie v pravidelných intervaloch.
  • Zoznamy: Napríklad 1,15 pre špecifikáciu viacerých konkrétnych hodnôt.
  • Pomenované mesiace: Skratky ako napríklad JAN.
  • Pomenované dni v týždni: Skratky ako napríklad MON.
  • Skratky: Preddefinované makrá @yearly, @monthly, @weekly, @daily a @hourly.

Príkladom komplexného vstupu kombinujúceho tieto pravidlá je výraz */15 9-17 * * MON-FRI. Nástroj naopak nepodporuje šesťpoľovú syntax so sekundami ani špecifické rozšírenia formátu Quartz, ako sú znaky L, W alebo #.

Interpretácia výstupných polí

Po zadaní platného výrazu nástroj vygeneruje podrobný rozpis plánu, ktorý priraďuje konkrétne pravidlá k jednotlivým časovým segmentom:

Pole Význam v rozpise
Minúta Parsovaná hodnota pre minútové pole.
Hodina Parsovaná hodnota pre hodvinu.
Deň v mesiaci Parsovaná hodnota pre deň v mesiaci.
Mesiac Parsovaná hodnota pre mesiac.
Deň v týždni Parsovaná hodnota pre deň v týždni.

Pri interpretácii hodnôt sa uplatňujú presné pravidlá prekladu. Ak sa v poli nachádza divoká karta *, výstup zobrazí hodnotu "Ľubovoľný". Pre zápisy typu */n sa generujú popisy podľa príslušného poľa:

  • "Každých {n} minút"
  • "Každých {n} hodín"
  • "Každých {n} dní" (pre deň v mesiaci)
  • "Každých {n} mesiacov"
  • "Každých {n} dní" (pre deň v týždni)

Správanie pri špecifických a chybových stavoch

Pri analýze výrazov môžu nastať situácie, ktoré vyžadujú osobitné spracovanie:

  • Prázdny vstup: Ak vymažete celý obsah vstupného poľa, nástroj sa vráti do základného stavu pripravenosti a zobrazí text "Zadajte cron výraz na jeho analýzu.".
  • Syntaktická chyba: Ak zadaný výraz nezodpovedá pravidlám formátu, nástroj zobrazí chybové hlásenie "Neplatný cron výraz.".
  • Nerealizovateľný plán: Ak je výraz syntakticky správny, ale definuje situáciu, ktorá nemôže nikdy nastať, systém vypíše upozornenie "Tento plán nemôže nikdy nastať – skontrolujte, či ste nezadali deň v mesiaci, ktorý v niektorom zo zvolených mesiacov neexistuje.". K tomuto stavu dochádza najčastejšie vtedy, ak je v poli dňa v mesiaci nastavená hodnota 31, no medzi vybranými mesiacmi figurujú iba tie, ktoré majú menej dní (napríklad apríl, jún, september alebo november).

Dôležitým pravidlom štandardnej syntaxe je interakcia medzi obmedzením dňa v mesiaci a dňa v týždni. Ak sú obe tieto polia reštriktívne (teda ani jedno neobsahuje znak *), na spustenie úlohy stačí splnenie ktorejkoľvek z týchto dvoch podmienok. Nemusia byť splnené súčasne.

Lokálne časové pásmo a spracovanie dát

Všetky výpočty budúcich časov spustenia prebiehajú priamo vo vašom webovom prehliadači. Váš cron výraz sa spracováva lokálne a žiadne dáta sa neodosielajú do služby BroBroGo.

Zoznam budúcich spustení sa zobrazuje v miestnom časovom pásme vášho prehliadača, pričom výstup je označený poznámkou "(váš lokálny čas)". Keďže samotný cron výraz v sebe neuchováva informáciu o časovom pásme, výsledné časy reprezentujú to, ako by sa plán správal na systéme nastavenom na rovnaký čas, aký používajú vaše lokálne hodiny.

Často kladené otázky (FAQ)

Akú syntax cronu tento nástroj podporuje? Štandardný 5-poľový cron – minúta, hodina, deň v mesiaci, mesiac a deň v týždni – vrátane rozsahov (1-5), krokov (*/15), zoznamov (1,15), pomenovaných mesiacov a dní v týždni (JAN, MON) a skratiek @yearly/@monthly/@weekly/@daily/@hourly. Jedno dôležité pravidlo, na ktoré sa často zabúda: ak sú obmedzené aj deň v mesiaci, aj deň v týždni (nie sú *), stačí zhoda na ktoromkoľvek z nich – nemusia platiť súčasne.

V akom časovom pásme sa zobrazujú nasledujúce časy spustenia? Miestne časové pásmo vášho prehliadača – rovnaké, aké používajú vaše systémové hodiny. Štandardný cron sám o sebe neobsahuje informáciu o časovom pásme; o tom rozhoduje plánovač úloh, ktorý ho spúšťa. Tieto časy preto berte ako náhľad vášho vlastného lokálneho plánu, nie nevyhnutne plánu na serveri.

Prečo sa zobrazuje, že tento plán nemôže nikdy nastať? Zvyčajne ide o hodnotu dňa v mesiaci, ktorá neexistuje v každom vybranom mesiaci – napríklad 31. deň, pričom v poli mesiacov je apríl, jún, september alebo november. Vyberte deň, ktorý existuje vo všetkých uvedených mesiacoch, alebo rozdeľte plán do samostatných výrazov.