Razhroščevalnik izrazov Cron
Razčlenite izraze cron in si oglejte človeku razumljivo razlago, kdaj se zaženejo. Idealno za razvijalce in sistemske skrbnike, ki morajo ustvariti ali razumeti urnike opravil cron. Izognite se napakam pri načrtovanju, tako da natančno vidite, kdaj se bodo vaši izrazi cron izvedli.
Pogosto zastavljena vprašanja
Izraz cron je niz 5 ali 6 polj, ki določa urnik za samodejna opravila v Unixu podobnih sistemih. Polja predstavljajo: minuto (0-59), uro (0-23), dan v mesecu (1-31), mesec (1-12) in dan v tednu (0-7, kjer sta 0 in 7 nedelja). Na primer, "0 9 * * 1" pomeni "vsak ponedeljek ob 9:00".
Začnite s petimi zvezdicami (* * * * * *), ki predstavljajo minuto, uro, dan, mesec in dan v tednu. Zvezdice nadomestite z določenimi vrednostmi ali razponi. Na primer: "30 14 * * * *" se sproži vsak dan ob 14:30, "0 0 1 * * *" se sproži ob polnoči 1. dne v mesecu, "*/15 * * * * *" se sproži vsakih 15 minut. Z našim analizatorjem preverite, ali vaš izraz deluje v skladu z vašimi pričakovanji.
Zvezdica pomeni "vsak" ali "katerikoli" za to časovno enoto. Na primer * v polju ure pomeni vsako uro, * v polju dneva pomeni vsak dan. Tako "0 * * * * *" pomeni "v 0. minuti vsake ure" (vsako uro), medtem ko "* * * * * *" pomeni "vsako minuto". To je nadomestni znak, ki ustreza vsem možnim vrednostim za to polje.
Uporabite sintakso vrednosti koraka: */N. Na vsakih 5 minut: '*/5 * * * *'. Na vsake 3 ure: "*5 ur": '0 */3 * * *'. Sintaksa */N pomeni "vsaka N-ta vrednost" - torej */5 v polju minute pomeni minute 0, 5, 10, 15 itd. Uporabite lahko tudi območja s koraki, kot je "0-30/5" za vsakih 5 minut v prvi polurni uri.
Da! V polju za dan v tednu (5. polje) uporabite 1-5. Na primer, "0 9 * * 1-5" se izvaja od ponedeljka do petka ob 9. uri zjutraj. Ponedeljek je 1, petek pa 5. Navedete lahko tudi določene dneve: '0 9 * * 1,3,5' deluje ob 9. uri zjutraj samo v ponedeljek, sredo in petek.
To sta dva različna načina za določitev dni, ko se delo izvaja. Za dan v mesecu (3. polje) se uporabljajo datumi od 1 do 31, za dan v tednu (5. polje) pa od 0 do 7 (0 in 7 sta nedelja). Če sta navedena oba pogoja (ne *), se opravilo izvede, ko se ujema OBA pogoja. Na primer, '0 0 1 * 1' se izvede ob polnoči na 1. dan vsakega meseca IN vsak ponedeljek.
Ob delavnikih od 9.00 do 17.00: "0 9-17 * * 1-5" se sproži na začetku vsake ure. Vsakih 30 minut med delovnim časom: '*/30 9-17 * * 1-5'. Razpon ur 9-17 zajema čas od 9.00 do 17.00, čas 1-5 pa omejuje izvajanje na čas od ponedeljka do petka.
Oba sta enakovredna - oba tečeta vsak dan ob polnoči. Številne implementacije crona podpirajo posebne nize, kot so @daily, @hourly, @weekly, @monthly in @yearly, kot bližnjice. Te so bolj berljive, vendar manj prilagodljive kot polni izrazi. Za običajne intervale uporabljajte bližnjice, za urnike po meri pa polne izraze.
Standardni izrazi cron se izvajajo na podlagi sistemskega časa strežnika. Če želite upoštevati časovne pasove, pravilno nastavite časovni pas strežnika ali izračunajte časovno razliko. Nekatere napredne implementacije crona podpirajo specifikacije časovnih območij, vendar osnovna oblika 5-polja ne vključuje informacij o časovnem območju.
S pomočjo našega razčlenjevalnika izrazov Cron preverite, ali vaš izraz prikazuje pričakovani opis urnika. Razčlenjevalnik v preprostem angleškem jeziku pojasni, kdaj se bo vaše opravilo zagnalo, in vam pomaga odpraviti napake, kot je '0 9 31 2 *' (31. februar ne obstaja), preden ga namestite v produkcijo.
