Cron kifejezés szintaxisa
Egy cron kifejezés öt mező, amely leírja, hogy valami mikor fusson. Minden mező mondja, hogy az egysége mely értékei elfogadhatók, és a munka minden olyan percben fut, amikor mind az öt egyetért. Ez az egész modell: nincs időtartam, nincs „minden 90 perc”, és sehol nincs következő futás állapota.
A mezőket balról jobbra olvasva percként, óraként, hónap napjaként, hónapként, hét napjaként olvasva. Az alábbi példák azok, amelyekhez az emberek valóban nyúlnak, és mindegyiket a webhely saját cron elemzője parszolja az oldal felépítése előtt.
Az utolsó szakasz olyan szintaxist sorol fel, amely cronnak tűnik, de itt nem fogadunk el: Quartz és Jenkins kiterjesztések, valamint a hat mezős forma másodpercekkel. Érdemes felismerniük, mert egy másolat kifejezés, amely egyik sem használja, egyszerűen meghiúsul.
Az öt mező
7Egy cron sor öt szóközzel elválasztott mező, majd a parancs. Minden mezőnek jelen kell lennie; nincs módja az egyiket kihagyni.
| Kifejezés | Tartomány | Jelentés |
|---|---|---|
| * * * * * | min hod dom mes dow | Az öt mező sorrendben: perc, óra, hónap napja, hónap, hét napjaÖt csillag jelenti minden perc minden napját — a legbővebb kifejezés. |
| minute | 0-59 | Első mező |
| hour | 0-23 | Második mező, 24 órás formátumban |
| day of month | 1-31 | Harmadik mezőEgy adott hónapban nem létező nap egyszerűen kihagyódik — a 31-es év hetente fut, nem tizenkétszer. |
| month | 1-12 | Negyedik mező |
| day of week | 0-7 | Ötödik mező, vasárnap elölVasárnap a 0 és a 7, amely az 1–7 tartomány használatát csinálja helyett a 0–6-tal. |
| 0 5 13 * 5 | Ha mindkét nap mező korlátozva van, a cron egyik futása — nem mindkettőEz a 13. és minden pénteken fut, így nem „péntek 13-ik”. Ez az egyetlen cron szabály, amely mindenkit meglepet. |
Operátorok
10Ugyanaz a négy operátor minden mezőben működik; csak az általa elfogadott számok tartománya változik.
| Kifejezés | Tartomány | Jelentés |
|---|---|---|
| * | A mező összes értéke | |
| 1,15,30 | Egyes értékek listája | |
| 9-17 | Befogadó tartomány | |
| */15 | Minden n-edik érték a teljes mezőn keresztülA perc mezőben a */15 :00, :15, :30 és :45 — a tartomány aljáról számít, nem mostantól. | |
| 9-17/2 | Minden n-edik érték egy tartományon belül | |
| 5/10 | Minden n-edik érték egy kezdőponttól a mező végéig | |
| 0,30 9-17 * * 1-5 | Az operátorok szabadon kombinálhatók bármely mezőbenMinden fél és teljes óra, kilenc és öt között, hétfőtől péntekig. | |
| JAN-DEC | 1-12 | Hónapnevek, három betű, nem érzékeny a kis- és nagybetűkre |
| SUN-SAT | 0-6 | Napnevek, három betű, nem érzékeny a kis- és nagybetűkre |
| 7 | 0 | Vasárnap, a másik módon írva |
Parancsikó makrók
7Hét név, amely egy egész kifejezéshez tartozik. A crontab fájl formátumának kényelme, nem a mező nyelvtana — egy olyan ütemezőt, amely cron karakterláncokat olvas, nem feltétlenül szükséges fogadni.
| Kifejezés | Tartomány | Jelentés |
|---|---|---|
| @hourly | 0 * * * * | Az óra minden tetején |
| @daily | 0 0 * * * | Naponta egyszer éjfélkor |
| @midnight | 0 0 * * * | Ugyanaz, mint @daily |
| @weekly | 0 0 * * 0 | Hetente egyszer vasárnap éjfélkor |
| @monthly | 0 0 1 * * | A hónap első napja éjfélkor |
| @yearly | 0 0 1 1 * | Január 1-én éjfélkor |
| @annually | 0 0 1 1 * | Ugyanaz, mint @yearly |
Munkaidő-példák
14Ha a kifejezés megsemmisíteni kezd, olvassa jobbról balra: a leggrossz mező jobbra van, és azt dönti el, mely napok még értékelik a finomabbakat.
| Kifejezés | Tartomány | Jelentés |
|---|---|---|
| * * * * * | Minden perc | |
| */5 * * * * | Minden öt perc | |
| 0 * * * * | Minden óra, az óra tetején | |
| 0,30 * * * * | Minden fél óra | |
| 0 3 * * * | Minden nap 03:00-kor | |
| 0 9,17 * * * | Naponta kétszer, 09:00-kor és 17:00-kor | |
| */15 9-17 * * 1-5 | Minden negyed óra munka közben munkanapokon | |
| 0 8 * * 1-5 | Munkanapokon 08:00-kor | |
| 0 10 * * 6,0 | Szombat és vasárnap 10:00-kor | |
| 30 7 * * MON | Hétfő 07:30-kor | |
| 0 0 1 * * | Éjfél minden hónap első napján | |
| 0 0 28-31 * * | Minden nap a hónap utolsó szakaszábanA szokásos cron nem ismeri a „hónap utolsó napját”. Ez helyette akár négyszer is futhat; a szokásos megoldás egy olyan parancsfájl, amely ellenőrzi a dátumot és korán kilép. | |
| 0 0 1 1,4,7,10 * | Éjfél az egyes negyedévek első napján | |
| 0 0 1 1 * | Évente egyszer, január 1-jének kezdete |
Olyan kiterjesztések, amelyeket ez az oldal nem fogad el
6Quartz, Jenkins és néhány felhő ütemezőt adnak hozzá. Felsorolva vannak, hogy felismerd mások crontabjában — az oldal elemzője mindegyiket elutasítja, csakúgy mint a Linuxszal szállított cron.
| Kifejezés | Tartomány | Jelentés |
|---|---|---|
| ? | „Nincs meghatározott érték” a nap mezőben, amely a másodikat már korlátozza | |
| L | A hónap utolsó napja vagy az utolsó adott hétköznap | |
| 15W | A 15-hez legközelebb eső hétköznap | |
| FRI#3 | A hónap harmadik pénteke | |
| */30 * * * * * | Hatodik mező másodpercekhez, elölHat mező, nem öt. Quartz és több szintű könyvtár ezt a formát használja; a crontab fájl nem. | |
| @reboot | Egyszer futtatni a gép indításakorValódi crontabban, de nem ütemezés — nincs következő futás kiszámítva, amely az oka annak, hogy az oldal elemzője elutasítja. |