Nemokamas konverteris

Krono išraiška Generatorius

Naršyklėje iš karto generuokite, paaiškinkite ir patvirtinkite cron išraiškas. Vaizdo kūrimo priemonė ir išraiškų analizatorius – nemokama, privati ​​ir kliento pusėje.

Krono išraiška
0 */6 * * *
Žmonėms skaitomas aprašymas
Every minute
Kiti 5 suplanuoti bėgimai
Calculating...

Apie šį įrankį

Cron išraiškos yra penki (arba šeši, priklausomai nuo sistemos) tarpais atskirti laukai, apibūdinantys tvarkaraštį: minutė, valanda, mėnesio diena, mėnuo ir savaitės diena. Kiekvienas laukas priima skaitines reikšmes, diapazonus, sąrašus, žingsnius ir pakaitos simbolius. „Cron“ buvo de facto Unix planavimo formatas nuo aštuntojo dešimtmečio pabaigos ir dabar naudojamas toli už Unix – Kubernetes CronJobs, GitHub Actions, AWS EventBridge taisyklės, Jenkins darbai ir beveik visos kitos gamybos planavimo sistemos.

Skaitant ir rašant cron išraiškas ranka yra klaidų. Laukai yra poziciniai, mėnesio dienos ir savaitės dienos sąveika nėra akivaizdi (vertė bet kuriame lauke suaktyvina užduotį, o ne abu), o klaidos tyliai sukuria tvarkaraščius, kurie atrodo teisingi, bet suveikia netinkamu laiku. Generatorius, kuris paprastus angliškus tvarkaraščius paverčia teisinga cron sintaksė, išvengia šių klaidų.

Šis įrankis siūlo dvi kryptis: sukurti cron išraišką iš draugiškos formos (kiekvieną pirmadienį 9 val., kas 5 minutes darbo valandomis) ir paaiškinti esamą cron išraišką žmogiškai. Abu veikia jūsų naršyklėje be jokios serverio sąveikos.

Kodėl verta naudoti Cron generatorių

Cron sintaksė yra tanki ir negailestinga. Dažnos klaidos yra paini savaitės dienų numeracija (sekmadienis yra 0 arba 7, priklausomai nuo sistemos), pamirštama, kad vartojama mėnesio diena ir savaitės diena, ARBA semantika ir neteisingas prieaugio sintaksės supratimas (*/5 reiškia kas 5, pradedant nuo 0). Generatorius juos sugauna pagal konstrukciją – sukurtos išraiškos atitinka tai, ką apibūdinote formoje.

Taip pat sunku skaityti esamas išraiškas. Tvarkaraštis, pvz., 0 9 * * 1–5, skaitomas kaip kiekvieną darbo dieną 9 val. ryto, kai žinote sintaksę, bet kas nepažįsta cron, turi ieškoti kiekvieno lauko. Paaiškinti išraišką žmogiškąja prasme yra greičiau nei išmokti vienkartinių sąveikų sintaksę.

Kaip naudoti

Pasirinkite tvarkaraščio modelį ir gaukite cron išraišką.

  1. Pasirinkite generavimo režimą: Sukurkite cron išraišką iš formos įvesties (dažnis, laikas, dienos) arba paaiškinkite esamą išraišką žmogiškai.
  2. Sukonfigūruokite tvarkaraštį: Pasirinkite dažnį (kiekvieną minutę, kas valandą, kiekvieną dieną, kiekvieną savaitę, kiekvieną mėnesį, pasirinktinai). Jei reikia, nurodykite laiką, dienas ir intervalus. Forma apriboja įvestis iki galiojančių derinių.
  3. Sukurkite arba paaiškinkite: Generation sukuria standartinę cron sintaksę (5 laukai). Paaiškinimas išskaido kiekvieną lauką ir pateikia žmonėms suprantamą santrauką.
  4. Naudokite savo tvarkaraštyje: Įklijuokite sugeneruotą išraišką į „Kubernetes CronJob“ specifikaciją, „GitHub Actions“ tvarkaraštį, „AWS EventBridge“ arba savo platformos planuoklį.

Bendro naudojimo atvejai

Techninės detalės

Standartinis cron turi penkis laukus: minutė (0–59), valanda (0–23), mėnesio diena (1–31), mėnuo (1–12), savaitės diena (0–6 arba 0–7, abu sekmadieniai). Kiekvienas laukas priima vieną reikšmę, kableliais atskirtą sąrašą, diapazoną su brūkšneliu, prieaugį su / arba pakaitos simbolį su *.

Mėnesio dienos ir savaitės dienos naudojimas ARBA semantika: jei kuri nors nustatyta į ne pakaitos raidės reikšmę, užduotis vykdoma, kai kuri nors atitinka. Tai prieštaringa, bet atitinka POSIX cron elgesį. Nustačius abu laukus gaunamas platesnis grafikas, o ne siauresnis.

Plėtiniai skiriasi priklausomai nuo įgyvendinimo. Kai kurie sekundėms priima šeštąjį lauką (kvarcas, spyruoklė); kai kurie priima? kaip pakaitos simbolio alternatyva; kai kuriuose yra @yearly, @monthly, @daily spartieji klavišai. Generatorius gamina standartinį 5 laukų cron, tinkantį daugumai sistemų.

Geriausia praktika

Dažnai užduodami klausimai

Kas yra cron išraiškos formatas?
Standartinis cron naudoja 5 laukus: minutę (0–59), valandą (0–23), mėnesio dieną (1–31), mėnesį (1–12), savaitės dieną (0–7, kur 0 ir 7 yra sekmadienis). Specialieji simboliai: * (bet kuris), , (sąrašas), - (diapazonas), / (žingsnis).
Kaip nustatyti, kad darbas būtų vykdomas kas 5 minutes?
Minučių laukelyje naudokite */5: „*/5 * * * *“. /5 reiškia „kas 5-ą reikšmę“. Panašiai */15 = kas 15 minučių, */2 = kas 2 minutes.
Kokią laiko juostą naudoja cron?
Cron paprastai naudoja sistemos laiko juostą. Linux serveriuose tai paprastai yra UTC, nebent sukonfigūruota kitaip. Debesų paslaugos (AWS, GCP) dažnai pagal numatytuosius nustatymus yra UTC. Visada patikrinkite savo sistemos laiko juostos nustatymus.
Ar tai tas pats formatas, kurį naudoja „GitHub Actions“?
„GitHub Actions“ naudoja tą patį 5 laukų formatą, bet veikia UTC laiko juosta. AWS CloudWatch ir Kubernetes CronJobs taip pat naudoja šį formatą. Kai kurios sistemos, tokios kaip Quartz, naudoja išplėstinį 6–7 laukų formatą su sekundėmis.
Kuo skiriasi 0 savaitės dieną ir 7?
Abu reiškia sekmadienį. POSIX cron priima 0–6 arba 0–7. Naudokite bet kurį jūsų konkretų cron diegimą; dauguma priima abu.
Ar nestandartinio cron paaiškinimas yra tikslus?
Jis skirtas standartiniam 5 laukų cron. Kvarciniai plėtiniai (su sekundėmis), AWS EventBridge variantai ir kiti dialektai gali būti netinkamai išanalizuoti. Patvirtinkite pagal paskirties sistemos dokumentus.
Ar mano išraiška siunčiama į serverį?
Ne. Generavimas ir paaiškinimas vyksta jūsų naršyklėje.
Ką apie @yearly, @monthly sparčiuosius klavišus?
Įprasti cron diegimai palaiko @yearly, @monthly, @weekly, @daily, @hourly ir @reboot kaip bendrų tvarkaraščių sparčiuosius klavišus. Generatorius sukuria standartines 5 laukų išraiškas; galite rankiniu būdu pakeisti sparčiuosius klavišus, jei jūsų planuotojas juos priima.