A cron kifejezések véletlenszerű számoknak és csillagoknak tűnnek, de ezek vezérlik, mikor futnak az interneten az ütemezett feladatok milliói. Legyen szó biztonsági mentési szkript beállításáról, e-mailes jelentések ütemezéséről vagy CI/CD folyamat konfigurálásáról, a cron megértése elengedhetetlen. Ez az útmutató egyszerűvé teszi az ingyenes Cron Értelmező segítségével.
Amire szükséged van
- Egy dekódolni kívánt cron kifejezés, vagy egy cron-ként kifejezni kívánt ütemterv
- Webböngésző (Chrome, Firefox, Safari vagy Edge)
- Nincs szükség fiókra vagy telepítésre
Lépésről lépésre útmutató
Add meg a cron kifejezést
Nyisd meg a Cron Értelmező eszközt. Írd be vagy illeszd be a cron kifejezést a beviteli mezőbe. Például próbáld ki a 0 9 * * 1 kifejezést. Az eszköz azonnal értelmezi, és közérthetően megmutatja, mit jelent.
Olvasd el az emberbarát eredményt
Az értelmező világos leírásra fordítja a kifejezést. A 0 9 * * 1 esetén valami ilyesmit fogsz látni: „Hétfőn 09:00-kor." Az eszköz a következő tervezett futási időket is megmutatja, hogy ellenőrizhesd, az ütemterv azt csinálja-e, amit elvársz.
Módosítsd és kísérletezz
Változtasd meg a kifejezést, és figyeld, hogyan frissül a leírás valós időben. Módosíts egy számot, cseréld le a csillagot egy értékre, vagy adj meg egy tartományt. Ez az azonnali visszajelzési kör a leggyorsabb módja a cron szintaxis megtanulásának és a szükséges ütemterv pontos felépítésének.
Hasznos tudnivaló A cron kifejezések jellemzően öt mezőből állnak: perc, óra, hónap napja, hónap és a hét napja. Egyes rendszerek hozzáadnak egy hatodik másodperc mezőt is, de az öt mező az alapértelmezett.
Az öt mező megértése
A cron kifejezés szóközzel elválasztott öt mezőből áll:
┌───────────── perc (0-59)
│ ┌───────────── óra (0-23)
│ │ ┌───────────── hónap napja (1-31)
│ │ │ ┌───────────── hónap (1-12)
│ │ │ │ ┌───────────── a hét napja (0-7, ahol a 0 és 7 a vasárnap)
│ │ │ │ │
* * * * *
A csillag * azt jelenti: „minden." Egy szám azt jelenti: „pontosan ennél az értéknél." Ez az alap — minden más erre épül.
Általános cron minták
Íme a leggyakrabban használt minták. Géppeld be bármelyiket a Cron Értelmezőbe, hogy megmagyarázva és ellenőrizve lásd őket:
| Kifejezés | Jelentése |
|---|---|
* * * * * |
Minden percben |
0 * * * * |
Minden órában (a 0. percben) |
0 9 * * * |
Minden nap 9:00-kor |
0 9 * * 1 |
Minden hétfőn 9:00-kor |
0 9 * * 1-5 |
Hétköznapokon 9:00-kor |
0 0 1 * * |
Minden hónap első napján éjfélkor |
0 */6 * * * |
Minden 6 órában |
30 8 * * 1,3,5 |
Hétfőn, szerdán, pénteken 8:30-kor |
0 0 * * 0 |
Minden vasárnap éjfélkor |
*/15 * * * * |
Minden 15 percben |
Tipp A lépés szintaxis */n azt jelenti: „minden n intervallumban." Így a */15 a perc mezőben minden 15 percet jelent (minden óra 0., 15., 30. és 45. percén). A tartomány szintaxis 1-5 a hét napja mezőben hétfőtől péntekig jelent.
Különleges karakterek magyarázata
| Karakter | Jelentése | Példa |
|---|---|---|
* |
Minden érték | * * * * * = minden percben |
, |
Több érték | 0 9,17 * * * = 9:00-kor és 17:00-kor |
- |
Értéktartomány | 0 9 * * 1-5 = hétköznapokon |
/ |
Lépésköz | */10 * * * * = minden 10 percben |
Saját kifejezések felépítése
Cron kifejezés létrehozásához gondolj az ütemtervedre, mint öt kérdésre adott válaszokra:
- Hanyadik percben? (0-59, vagy
*minden percben) - Hány órakor? (0-23, vagy
*minden órában) - A hónap melyik napján? (1-31, vagy
*minden nap) - Melyik hónapban? (1-12, vagy
*minden hónapban) - A hét melyik napján? (0-7, vagy
*minden nap)
Például „minden kedden és csütörtökön 14:30-kor" a következő lesz: perc=30, óra=14, nap=, hónap=, hét napja=2,4, ami 30 14 * * 2,4 lesz.
Fontos A cron 24 órás időt használ. A reggel 9 óra 9, de az este 9 óra 21. Fontos megjegyezni, hogy az időzónák a cron feladatot futtató szervertől függenek, nem a helyi időtől. Mindig erősítsd meg, melyik időzónát használja a rendszered.
Gyakran ismételt kérdések
Mi történik, ha egyszerre állítom be a hónap napját és a hét napját? Az alapértelmezett cronban a feladat akkor fut, ha bármelyik feltétel teljesül (ez VAGY, nem ÉS). Ez sokakat meglep. Ha mindkét feltételre szükséged van, használj egy burkoló szkriptet, amely ellenőrzi a dátumot.
Ütemezhetem, hogy valami minden 2 órában fusson?
Igen. Használd a 0 */2 * * * kifejezést, amely minden második óra 0. percén fut.
Mi a különbség az 5 mezős és a 6 mezős cron között? Egyes rendszerek (mint a Spring, Quartz) az elejéhez hozzáadnak egy másodperc mezőt. Az alapértelmezett Unix cron öt mezőt használ. A Cron Értelmező mindkét formátumot támogatja.
Következő lépések
Most, hogy olvasni és írni tudod a cron kifejezéseket, próbálj ütemterveket felépíteni a projektjeidhez. Ha más fejlesztői eszközökkel is dolgozol, nézd meg a Regex Tesztelőt a mintaillesztéshez, vagy a JSON Formázót a konfigurációs fájlokkal való munkához.