Přeskočit na obsah
TextArray

Porozumění výrazům cron: pište plány jako vývojář

Blog /

Cron výrazy řídí, kdy se automatické úlohy spouštějí na serverech, cloudových platformách a plánovacích nástrojích – přesto se většina vývojářů uchýlí ke kopírování příkladů a doufá, že fungují. Pochopení syntaxe cron znamená, že můžete s jistotou napsat jakýkoli plán od začátku, rychleji ladit neúspěšné úlohy a vyhnout se nákladným chybám, jako jsou zálohy, které se nikdy nespustí.

Co jsou cron výrazy a proč na nich záleží

Výraz cron je kompaktní řetězec pěti nebo šesti polí, který systému přesně říká, kdy má provést úlohu. Jedná se o standardní formát napříč unixovými servery, Linuxem, GitHub Actions, AWS EventBridge, Kubernetes a platformami CI/CD po celém světě. Místo toho, abyste psali prózu jako „tohle provozujte každé úterý ve 2 hodiny ráno“, píšete 0 2 * * 2a démon cron to okamžitě interpretuje. Naučit se tento zápis – který se po desetiletí prakticky nezměnil – je jednorázová investice, která se vyplatí pokaždé, když si cokoliv naplánujete.

Pět polí a jejich rozsahy

Standardní cron používá pět povinných polí oddělených mezerami. Čtěte je zleva doprava jako minutu, hodinu, den v měsíci, měsíc a den v týdnu:

  1. Minute (0–59) — kterou minutu v hodině spustit
  2. Hour (0–23) — kterou hodinu dne (24hodinový formát)
  3. Day of month (1–31) — který kalendářní den
  4. Month (1–12) — který měsíc v roce
  5. Day of week (0–7) — který den v týdnu, kde 0 i 7 znamenají neděli

Každé pole přijímá určitou hodnotu, například rozsah 1-5, seznam jako 1,3,5, nebo zástupný znak * což znamená "každou hodnotu v tomto poli." Operátor lomítka rozděluje rozsahy: */15 v minutovém poli znamená každých 15 minut.

Běžné vzory, které napíšete

Většina rozvrhů v reálném světě se opakuje jen několika způsoby. Ve všední den je ráno v 9 hodin 0 9 * * 1-5. Každá hodina je 0 * * * *. První den v měsíci o půlnoci: 0 0 1 * *. Každých 15 minut, celý den: */15 * * * *. Jednou denně v neděli ve 2:30: 30 2 * * 0. Pokud si někdy nejste jisti, zda je váš výraz správný, vložte jej do a cron parser zobrazíte dalších pět plánovaných spuštění a před nasazením ověříte, zda odpovídá vašemu záměru.

Sestavte si svůj vlastní cron výraz

Začněte v angličtině a poté přeložte do cronu. Chcete "9:30 každý všední den"? To je 30 minut, 9 hodin, kterýkoli den v měsíci, jakýkoli měsíc, pondělí až pátek. Pole se stávají 30 9 * * 1-5. Pro „dvakrát denně v 7:00 a 18:00“: 0 7,18 * * * (čárka odděluje hodiny). 15. poledne každý měsíc: 0 12 15 * *. Jakmile napíšete jakýkoli výraz, vždy jej před nasazením otestujte pomocí analyzátoru, abyste zachytili překlepy.

Zpracujte časová pásma a ověřte přesné časy

Cron výrazy jsou relativní k serveru – běží v časovém pásmu systému, nikoli ve vašem místním časovém pásmu. Chcete-li ověřit unixové časové razítko nebo zjistit, jaký místní čas spouští váš cron ve vaší zóně, použijte převodník časových razítek, který běží ve vašem prohlížeči a zpracovává převody časových pásem okamžitě, aniž byste kamkoli posílali data.

Proměňte svůj rozvrh v událost kalendáře

Jakmile budete mít solidní cron výraz, sdílejte jej nebo si jej přidejte do kalendáře, abyste viděli, kdy se úloha spustí. ICS generátor převede datum zahájení a pravidlo opakování na soubor kalendáře, který se importuje do Apple Calendar, Google Calendar, Outlooku nebo jakékoli standardní kalendářové aplikace. Případně vytvořte přímý odkaz Odkaz na Kalendář Google který otevře událost předem vyplněnou v Kalendáři Google jediným kliknutím – žádné stahování, žádná správa souborů.

Vaše plány cronu zůstanou soukromé

Všechny zde zmíněné nástroje běží uvnitř vašeho prohlížeče; nic se nenahrává na server. Analýza cronu, převod časových razítek, generování kalendáře a vytváření odkazů – to vše probíhá na vašem zařízení. Žádný účet, žádné sledování a nástroje po načtení fungují offline. Vaše plány a podrobnosti o automatizaci zůstávají pouze na vás.