Bezmaksas pārveidotājs

Krona izteiksme Ģenerators

Tūlītēji ģenerējiet, izskaidrojiet un apstipriniet cron izteiksmes savā pārlūkprogrammā. Vizuālais veidotājs un izteiksmju parsētājs — bezmaksas, privāts un klienta pusē.

Krona izteiksme
0 */6 * * *
Cilvēkam lasāms apraksts
Every minute
Nākamie 5 ieplānotie skrējieni
Calculating...

Par šo rīku

Cron izteiksmes ir pieci (vai seši, atkarībā no sistēmas) ar atstarpi atdalīti lauki, kas apraksta grafiku: minūte, stunda, mēneša diena, mēnesis un nedēļas diena. Katrs lauks pieņem skaitliskās vērtības, diapazonus, sarakstus, palielinājumus un aizstājējzīmes. Cron ir bijis de facto Unix plānošanas formāts kopš 1970. gadu beigām, un tagad to izmanto daudz tālāk par Unix — Kubernetes CronJobs, GitHub Actions, AWS EventBridge noteikumi, Dženkinsa darbi un gandrīz visas citas ražošanas plānošanas sistēmas.

Cron izteiksmju lasīšana un rakstīšana ar roku ir saistīta ar kļūdām. Lauki ir pozicionāli, mēneša dienas un nedēļas dienas mijiedarbība nav acīmredzama (vērtība abos laukos aktivizē darbu, nevis abos), un kļūdas klusi rada grafikus, kas izskatās pareizi, bet darbojas nepareizā laikā. Ģenerators, kas pārvērš vienkāršus angļu valodas grafikus pareizā cron sintaksē, novērš šīs kļūdas.

Šis rīks piedāvā divus virzienus: izveidot cron izteiksmi no draudzīgas formas (katru pirmdienu plkst. 9:00, ik pēc 5 minūtēm darba laikā) un izskaidrot esošo cron izteiksmi cilvēka izteiksmē. Abi darbojas jūsu pārlūkprogrammā bez servera mijiedarbības.

Kāpēc izmantot Cron ģeneratoru

Cron sintakse ir blīva un nepielūdzama. Bieži pieļautās kļūdas ir neskaidra nedēļas dienu numerācija (svētdiena ir 0 vai 7 atkarībā no sistēmas), mēneša dienas un nedēļas dienas lietošanas VAI semantikas aizmirstība un pieauguma sintakses pārpratums (*/5 nozīmē ik pēc 5, sākot no 0). Ģenerators tos uztver pēc konstrukcijas — izveidotās izteiksmes atbilst tam, ko aprakstījāt veidlapā.

Esošo izteicienu lasīšana ir tikpat sarežģīta. Grafiks, piemēram, 0 9 * * 1-5, tiek nolasīts kā katru darba dienu pulksten 9:00, tiklīdz jūs zināt sintaksi, taču ikvienam, kurš nepārzina cron, ir jāmeklē katrs lauks. Izteiksmes izskaidrošana cilvēka izteiksmē ir ātrāka nekā vienreizēju mijiedarbību sintakses apguve.

Kā lietot

Izvēlieties grafika modeli, iegūstiet cron izteiksmi.

  1. Izvēlieties ģenerēšanas režīmu: Veidojiet cron izteiksmi no formas ievades (biežums, laiks, dienas) vai izskaidrojiet esošu izteiksmi cilvēka izteiksmē.
  2. Konfigurējiet grafiku: Izvēlieties frekvenci (katru minūti, katru stundu, katru dienu, katru nedēļu, katru mēnesi, pēc pasūtījuma). Ja nepieciešams, norādiet laiku, dienas un intervālus. Veidlapa ierobežo ievades derīgām kombinācijām.
  3. Ģenerējiet vai izskaidrojiet: Generation rada standarta cron sintaksi (5 lauki). Paskaidrojumā ir sadalīts katrs lauks un sniegts cilvēkiem lasāms kopsavilkums.
  4. Izmantojiet savā plānotājā: Ielīmējiet ģenerēto izteiksmi Kubernetes CronJob specifikācijā, GitHub darbību grafikā, AWS EventBridge vai savas platformas plānotājā.

Bieži lietojami gadījumi

Tehniskās detaļas

Standarta cron ir pieci lauki: minūte (0–59), stunda (0–23), mēneša diena (1–31), mēnesis (1–12), nedēļas diena (0–6 vai 0–7, abas svētdienas). Katrs lauks pieņem vienu vērtību, ar komatu atdalītu sarakstu, diapazonu ar defisi, pieaugumu ar / vai aizstājējzīmi ar *.

Mēneša dienas un nedēļas dienas lietojums VAI semantika: ja kāds no tiem ir iestatīts uz vērtību, kas nav aizstājējzīme, darbs tiek izpildīts, kad atbilst kādai no tām. Tas ir pretrunīgi, bet atbilst POSIX cron uzvedībai. Iestatot abus laukus, tiek iegūts plašāks grafiks, nevis šaurāks.

Paplašinājumi atšķiras atkarībā no ieviešanas. Daži pieņem sesto lauku sekundēm (kvarcs, pavasaris); daži pieņem? kā aizstājējzīmes alternatīva; daži ietver @yearly, @monthly, @daily saīsnes. Ģenerators ražo standarta 5 lauka kronu, kas piemērots lielākajai daļai sistēmu.

Labākā prakse

Bieži uzdotie jautājumi

Kas ir cron izteiksmes formāts?
Standarta cron izmanto 5 laukus: minūte (0-59), stunda (0-23), mēneša diena (1-31), mēnesis (1-12), nedēļas diena (0-7, kur 0 un 7 ir svētdiena). Speciālās rakstzīmes: * (jebkura), , (saraksts), - (diapazons), / (solis).
Kā iestatīt darbu ik pēc 5 minūtēm?
Minūtes laukā izmantojiet */5: '*/5 * * * *'. /5 nozīmē “katra piektā vērtība”. Līdzīgi */15 = ik pēc 15 minūtēm, */2 = ik pēc 2 minūtēm.
Kādu laika joslu izmanto cron?
Cron parasti izmanto sistēmas laika joslu. Linux serveros tas parasti ir UTC, ja vien nav konfigurēts citādi. Mākoņpakalpojumi (AWS, GCP) bieži vien pēc noklusējuma ir UTC. Vienmēr pārbaudiet savas sistēmas laika joslas iestatījumu.
Vai tas ir tas pats formāts, ko izmanto GitHub Actions?
GitHub Actions izmanto to pašu 5 lauku formātu, bet darbojas UTC laika joslā. Šo formātu izmanto arī AWS CloudWatch un Kubernetes CronJobs. Dažas sistēmas, piemēram, Quartz, izmanto paplašinātu 6–7 lauka formātu ar sekundēm.
Kāda ir atšķirība starp 0 nedēļas dienā un 7?
Abi nozīmē svētdienu. POSIX cron pieņem 0–6 vai 0–7. Izmantojiet to, kas jūsu konkrētajai cron ieviešanai dod priekšroku; lielākā daļa pieņem abus.
Vai nestandarta cron skaidrotājs ir precīzs?
Tā mērķis ir standarta 5 lauku cron. Kvarca paplašinājumi (ar sekundēm), AWS EventBridge varianti un citi dialekti var netikt pareizi parsēti. Apstipriniet, izmantojot galamērķa sistēmas dokumentāciju.
Vai mana izteiksme tiek nosūtīta uz serveri?
Nē. Ģenerēšana un skaidrojumi notiek jūsu pārlūkprogrammā.
Kā ar @yearly, @monthly saīsnēm?
Kopējās cron ieviešanas atbalsta @yearly, @monthly, @weekly, @daily, @hourly un @reboot kā saīsnes parastajiem grafikiem. Ģenerators rada standarta 5 lauku izteiksmes; varat manuāli aizstāt īsceļus, ja plānotājs tos pieņem.