Pochopenie výrazov cron: píšte plány ako vývojár
Cron výrazy riadia, kedy sa automatizované úlohy spúšťajú na serveroch, cloudových platformách a plánovacích nástrojoch - väčšina vývojárov sa však uchyľuje ku kopírovaniu príkladov a dúfa, že fungujú. Pochopenie syntaxe cron znamená, že môžete s istotou napísať akýkoľvek plán od začiatku, rýchlejšie ladiť zlyhávajúce úlohy a vyhnúť sa nákladným chybám, ako sú zálohy, ktoré sa nikdy nespustia.
Čo sú to cron výrazy a prečo na nich záleží
Výraz cron je kompaktný reťazec piatich alebo šiestich polí, ktorý presne hovorí systému, kedy má vykonať úlohu. Je to štandardný formát pre servery Unix, Linux, GitHub Actions, AWS EventBridge, Kubernetes a platformy CI/CD na celom svete. Namiesto toho, aby ste písali prózu typu „toto choďte každý utorok o 2:00“, píšete 0 2 * * 2a démon cron to okamžite interpretuje. Naučiť sa túto notáciu - ktorá zostala prakticky nezmenená po celé desaťročia - je jednorazová investícia, ktorá sa vyplatí vždy, keď si čokoľvek naplánujete.
Päť polí a ich rozsahy
Štandardný cron používa päť povinných polí oddelených medzerami. Čítajte ich zľava doprava ako minútu, hodinu, deň v mesiaci, mesiac a deň v týždni:
Minute(0–59) — ktorá minúta v hodine sa má spustiťHour(0–23) - ktorá hodina dňa (24-hodinový formát)Day of month(1–31) — ktorý kalendárny deňMonth(1–12) — ktorý mesiac v rokuDay of week(0–7) — ktorý deň v týždni, kde 0 aj 7 znamenajú nedeľu
Každé pole prijíma špecifickú hodnotu, napríklad rozsah 1-5, zoznam podobný 1,3,5alebo zástupný znak * čo znamená „každá hodnota v tomto poli“. Operátor lomky rozdeľuje rozsahy: */15 v poli minút znamená každých 15 minút.
Bežné vzory, ktoré napíšete
Väčšina rozvrhov v reálnom svete sa opakuje len niekoľkými spôsobmi. V pracovné dni je ráno o 9:00 0 9 * * 1-5. Každá hodina je 0 * * * *. Prvý deň v mesiaci o polnoci: 0 0 1 * *. Každých 15 minút, celý deň: */15 * * * *. Raz denne v nedeľu o 2:30: 30 2 * * 0. Ak si niekedy nie ste istí, či je váš výraz správny, vložte ho do a analyzátor cron zobrazíte ďalších päť plánovaných spustení a pred nasadením overíte, či zodpovedá vášmu zámeru.
Vytvorte si vlastný cron výraz
Začnite v angličtine a potom preložte do cronu. Chcete "9:30 každý pracovný deň"? To je 30 minút, 9 hodín, ktorýkoľvek deň v mesiaci, ktorýkoľvek mesiac, od pondelka do piatku. Polia sa stávajú 30 9 * * 1-5. Pre „dvakrát denne o 7:00 a 18:00“: 0 7,18 * * * (čiarka oddeľuje hodiny). 15. každý mesiac napoludnie: 0 12 15 * *. Keď napíšete akýkoľvek výraz, vždy ho pred nasadením otestujte pomocou analyzátora, aby ste zachytili preklepy.
Spravujte časové pásma a overujte presné časy
Cron výrazy sú závislé od servera - bežia v časovom pásme systému, nie vo vašom miestnom časovom pásme. Ak chcete overiť unixovú časovú pečiatku alebo zistiť, aký miestny čas spúšťa váš cron vo vašej zóne, použite prevodník časových pečiatok, ktorý beží vo vašom prehliadači a spracováva konverzie časových pásiem okamžite bez odosielania údajov kamkoľvek.
Premeňte svoj rozvrh na udalosť v kalendári
Keď budete mať solídny výraz cron, zdieľajte ho alebo si ho pridajte do svojho kalendára, aby ste videli, kedy sa úloha spustí. ICS generátor prevedie dátum začiatku a pravidlo opakovania na súbor kalendára, ktorý sa importuje do Apple Calendar, Google Calendar, Outlooku alebo akejkoľvek štandardnej aplikácie kalendára. Prípadne vytvorte priamy Odkaz na Kalendár Google ktorý otvorí udalosť vopred vyplnenú v Kalendári Google jediným kliknutím - žiadne sťahovanie, žiadna správa súborov.
Vaše plány cronu zostanú súkromné
Všetky tu uvedené nástroje bežia vo vašom prehliadači; nič sa neodovzdáva na server. Analýza cronu, konverzia časovej pečiatky, generovanie kalendára a vytváranie odkazov - to všetko prebieha na vašom zariadení. Žiadny účet, žiadne sledovanie a nástroje po načítaní fungujú offline. Vaše plány a podrobnosti o automatizácii zostávajú len na vás.