Parser výrazů Cron
Parsování výrazů cron a zobrazení lidsky čitelného vysvětlení jejich spuštění. Ideální pro vývojáře a správce systému, kteří potřebují vytvořit nebo pochopit plány úloh cron. Předejděte chybám v plánování tím, že si přesně zobrazíte, kdy se vaše výrazy cronu spustí.
Často kladené otázky
Výraz cron je řetězec 5 nebo 6 polí, který definuje plán pro automatizované úlohy v systémech podobných systému Unix. Pole představují: minutu (0-59), hodinu (0-23), den v měsíci (1-31), měsíc (1-12) a den v týdnu (0-7, kde 0 a 7 jsou neděle). Například "0 9 * * 1" znamená "spustit každé pondělí v 9:00".
Začíná pěti hvězdičkami (* * * * *), které představují minutu, hodinu, den, měsíc a den v týdnu. Nahraďte hvězdičky konkrétními hodnotami nebo rozsahy. Například: "30 14 * * *" se spustí denně ve 14:30, "0 0 1 * *" se spustí o půlnoci 1. dne v měsíci, "*/15 * * * *" se spustí každých 15 minut. Pomocí našeho analyzátoru si ověřte, že váš výraz dělá to, co očekáváte.
Hvězdička znamená "každý" nebo "jakýkoli" pro danou časovou jednotku. Například * v poli hodiny znamená každou hodinu, * v poli dne znamená každý den. Takže "0 * * * *" znamená "v 0. minutě každé hodiny" (každou hodinu), zatímco "* * * * *" znamená "každou minutu". Jedná se o zástupný znak, který odpovídá všem možným hodnotám pro dané pole.
Použijte syntaxi hodnoty kroku: */N. Pro každých 5 minut: '*/5 * * * *'. Pro každé 3 hodiny: "*": '0 */3 * * *'. Syntaxe */N znamená "každá N-tá hodnota" - takže */5 v poli minut znamená minuty 0, 5, 10, 15 atd. Můžete také použít rozsahy s kroky, například "0-30/5" pro každých 5 minut během první půlhodiny.
Ano! V poli den v týdnu (5. pole) použijte 1-5. Například "0 9 * * 1-5" se spustí v 9 hodin ráno od pondělí do pátku. Pondělí je 1 a pátek je 5. Můžete také uvést konkrétní dny: '0 9 * * 1,3,5' se spustí v 9 hodin ráno pouze v pondělí, ve středu a v pátek.
Jedná se o dva různé způsoby, jak určit, které dny se úloha spustí. Den v měsíci (3. pole) používá data 1-31, zatímco den v týdnu (5. pole) používá data 0-7 (0 a 7 jsou neděle). Pokud jsou zadány oba dny (nikoli *), úloha se spustí, pokud vyhovuje KTERÁKOLIV podmínka. Například '0 0 1 * 1' se spustí o půlnoci každého 1. dne v měsíci A každé pondělí.
V pracovních dnech od 9 do 17 hodin: "0 9-17 * * 1-5" se spustí na začátku každé hodiny. Každých 30 minut v pracovní době: '*/30 9-17 * * 1-5'. Hodinový rozsah 9-17 pokrývá období od 9:00 do 17:00 a 1-5 omezuje provádění na pondělí až pátek.
Jsou rovnocenné - oba běží denně o půlnoci. Mnoho implementací cronu podporuje speciální řetězce jako @daily, @hourly, @weekly, @monthly a @yearly jako zkratky. Ty jsou čitelnější, ale méně flexibilní než plné výrazy. Pro běžné intervaly používejte zkratky a pro vlastní plány plné výrazy.
Standardní výrazy cronu se spouštějí na základě systémového času serveru. Pro práci s časovými pásmy je třeba buď správně nastavit časové pásmo serveru, nebo vypočítat časový rozdíl. Některé pokročilé implementace cronu podporují specifikace časových pásem, ale základní pětipolíčkový formát informaci o časovém pásmu neobsahuje.
Pomocí našeho parseru výrazů Cron můžete ověřit, zda váš výraz zobrazuje očekávaný popis plánu. Parser vysvětluje jednoduchou angličtinou, kdy bude úloha spuštěna, a pomáhá vám zachytit chyby jako '0 9 31 2 *' (31. února neexistuje) před nasazením do produkce.
