Sintaksa Cron izraza
Cron izraz je pet polja koja opisuju kada bi se nešto trebalo pokrenuti. Svako polje kaže koje vrijednosti svoje jedinice su dozvoljene, a zadatak se pokreće u svakoj minuti gdje su sva pet se slaže. To je cijeli model: nema pojma trajanja, nema „svakih 90 minuta” i nema stanja sljedećeg pokretanja negdje pohranjeno.
Polja se čitaju slijeva nadesno kao minuta, sat, dan mjeseca, mjesec, dan tjedna. Primjeri na dnu su oni koje se stvarno koriste, i svaki od njih je provjeren s vlastitim cron parserom ove stranice prije nego što je stranica izgrađena.
Zadnja sekcija popis sintakse koja izgleda kao cron ali se ne prihvaća ovdje: Quartz i Jenkins proširenja, i šestopolje oblik sa sekundama. Vrijedno je znati ih jer kopiran izraz koji koristi jedan od njih jednostavno neće raditi.
Pet polja
7Cron redak je pet polja odvojena razmakom, zatim naredba. Svako polje mora biti prisutno; nema mogućnosti da se neće.
| Izraz | Raspon | Značenje |
|---|---|---|
| * * * * * | min hod dom mes dow | Pet polja redom: minuta, sat, dan mjeseca, mjesec, dan tjednaPet zvijezdica znači svaku minutu svakog dana — najslabije moguće izraz. |
| minute | 0-59 | Prvo polje |
| hour | 0-23 | Drugo polje, na 24-satnoj skali |
| day of month | 1-31 | Treće poljeDan koji ne postoji u danom mjesecu se jednostavno preskoči — 31 se pokreće sedam puta godišnje, ne dvanaest. |
| month | 1-12 | Četvrto polje |
| day of week | 0-7 | Peto polje, nedjelja prvaNedjelju znači 0 i 7 — zato raspon završava sa sedam umjesto šest. |
| 0 5 13 * 5 | Kada su oba polja dana ograničena, cron se pokreće na bilo kojem — ne na oba odjednomOvo se pokreće na 13. i na svakom petku, tako da nije "Petak 13.". To je jedno pravilo crona koji iznenađuje sve. |
Operatori
10Ista četiri operatora rade u svakom polju; samo brojevi koje primaju se mijenjaju.
| Izraz | Raspon | Značenje |
|---|---|---|
| * | Svaka vrijednost koju polje dopušta | |
| 1,15,30 | Popis pojedinačnih vrijednosti | |
| 9-17 | Raspon uključujući oba kraja | |
| */15 | Svaka n-ta vrijednost u cijelom polju*/15 u polju minuta znači :00, :15, :30 i :45 — broji se od dna raspona, ne od sada. | |
| 9-17/2 | Svaka n-ta vrijednost unutar raspona | |
| 5/10 | Svaka n-ta vrijednost od početne točke do kraja polja | |
| 0,30 9-17 * * 1-5 | Operatori se mogu slobodno miješati u bilo kojem poljuNa pola sata, između 9 i 17, od ponedjeljka do petka. | |
| JAN-DEC | 1-12 | Nazivi mjeseci, tri slova, ne ovisno o slučaju |
| SUN-SAT | 0-6 | Nazivi dana, tri slova, ne ovisno o slučaju |
| 7 | 0 | Nedjelja, napisana na drugi način |
Skraćene makroe
7Sedam naziva koji stoje za čitav izraz. Oni su pogodnost formata crontab, ne gramatika polja — planer koji čita cron stringove ih ne mora prihvatiti.
| Izraz | Raspon | Značenje |
|---|---|---|
| @hourly | 0 * * * * | Na vrhu svakog sata |
| @daily | 0 0 * * * | Jednom dnevno u ponoć |
| @midnight | 0 0 * * * | Isto kao @daily |
| @weekly | 0 0 * * 0 | Jednom tjedno, nedjelja u ponoć |
| @monthly | 0 0 1 * * | Prvoga mjeseca u ponoć |
| @yearly | 0 0 1 1 * | Prvoga siječnja u ponoć |
| @annually | 0 0 1 1 * | Isto kao @yearly |
Primjeri
14Čitaj jedno sdesna na lijevo kada prestane biti razumno: najgrublje polje je na desnoj i odlučuje koje dane fina polja čak i dobivaju provjeren.
| Izraz | Raspon | Značenje |
|---|---|---|
| * * * * * | Svaku minutu | |
| */5 * * * * | Svakih pet minuta | |
| 0 * * * * | Svaki sat, uvijek na vrhu | |
| 0,30 * * * * | Svakih pola sata | |
| 0 3 * * * | Svaki dan u 03:00 | |
| 0 9,17 * * * | Dva puta dnevno, u 09:00 i 17:00 | |
| */15 9-17 * * 1-5 | Svakih petnaest minuta tijekom radnih sati u radne dane | |
| 0 8 * * 1-5 | Radni dani u 08:00 | |
| 0 10 * * 6,0 | Subotel i nedjelja u 10:00 | |
| 30 7 * * MON | Ponedjeljak u 07:30 | |
| 0 0 1 * * | Ponoć prvog dana svakog mjeseca | |
| 0 0 28-31 * * | Svaki dan u zadnjem dijelu mjesecaStandardni cron nema "zadnjeg dana mjeseca". Ovo se pokreće do četiri puta; uobičajeno rješenje je skripta koji provjeri datum i izlazi rano. | |
| 0 0 1 1,4,7,10 * | Ponoć prvog dana svakog četvrtina | |
| 0 0 1 1 * | Jednom godišnje, na početku 1. siječnja |
Proširenja koja ova stranica ne prihvaća
6Quartz, Jenkins i neki cloud poredbeni dodaju ih. Navedeni su tako da ih prepoznate u nečijoj crontabi — parser na ovoj stranici odbija svaki, kao što čini i cron isporuka sa Linux-om.
| Izraz | Raspon | Značenje |
|---|---|---|
| ? | "Nema specifične vrijednosti" u polju dana koja već ograničava drugi | |
| L | Zadnji dan mjeseca ili zadnji dati dan tjedna | |
| 15W | Radni dan najbliži 15. | |
| FRI#3 | Treći petak u mjesecu | |
| */30 * * * * * | Šesto polje za sekunde, sprijedaŠest polja, ne pet. Quartz i nekoliko knjižnica koriste ovaj oblik; datoteka crontab ne. | |
| @reboot | Pokreni jednom kada se stroj restartiraPravi u crontab, ali nije raspored — nema sljedećeg pokretanja za izračun, zato parser ovdje to odbija. |