Preskočiť na obsah
TextArray

Pochopenie výrazov cron: píšte plány ako vývojár

Blog /

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:

  1. Minute (0–59) — ktorá minúta v hodine sa má spustiť
  2. Hour (0–23) - ktorá hodina dňa (24-hodinový formát)
  3. Day of month (1–31) — ktorý kalendárny deň
  4. Month (1–12) — ktorý mesiac v roku
  5. Day 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.