tigtools

Cron kifejezés magyarázó

Adjon meg egy ötmezős cron ütemezést, hogy megtudja, mit jelent, és mikor fut legközelebb. Minden számítás a böngészőjében történik.

Böngészőben fut Regisztráció nélkül

Öt mező: perc, óra, a hónap napja, hónap, a hét napja. Makrók, mint például a @daily is működnek.

Gyakori ütemezések

Jelentés

15 percenként, 09:00 és 17:59 között, a megadott napokon: hétfő–péntek.

Mezők

Perc
*/15
Óra
9-17
Hónap napja
*
Hónap
*
Hét napja
1-5
Időzóna

Következő 10 futás

    Használata

    1. Gépeljen be vagy illesszen be egy cron kifejezést, vagy válasszon a gyakori ütemezések közül.
    2. Olvassa el a közérthető magyarázatot. Az érvénytelen mezőknél megjelenik az ok.
    3. Ellenőrizze a következő 10 futási időpontot, amelyek a helyi időzónája szerint jelennek meg. Váltson UTC-re, ha a szervere UTC szerint fut.
    4. Másolja ki a futási időpontokat a megosztáshoz, vagy módosítsa a kifejezést, amíg az ütemezés meg nem felel az igényeinek.

    Hogyan működik

    A szabványos cron kifejezés, amelyet a Linux rendszeren a crontab (Vixie cron és cronie), valamint számos CI- és tárhely-ütemező használ, öt szóközzel elválasztott mezőből áll: perc (0–59), óra (0–23), a hónap napja (1–31), hónap (1–12 vagy JAN–DEC) és a hét napja (0–7 vagy SUN–SAT, ahol a 0 és a 7 is vasárnapot jelent). Minden mező elfogadja a * karaktert minden érték helyett, egyetlen értéket, tartományt például 1-5, listát például 1,15,30, valamint lépésközt például */15 (minden 15. érték) vagy 9-17/2 (9-től 17-ig minden második órában). A nevek nem különböztetik meg a kis- és nagybetűket. A @yearly (vagy @annually), @monthly, @weekly, @daily (vagy @midnight) és @hourly rövidítések rendre a 0 0 1 1 *, a 0 0 1 * *, a 0 0 * * 0, a 0 0 * * * és a 0 * * * * kifejezéseket jelentik.

    A hónap napját és a hét napját megadó mezők olyan szabályt követnek, amely sokakat meglep. Ha bármelyik mező * karakterrel kezdődik, akkor egy napnak mindkét feltételt teljesítenie kell. Ha mindkét mező korlátozott, akkor egy nap akkor egyezik, ha bármelyik feltétel teljesül: a 0 0 13 * 5 minden hónap 13. napján és minden pénteken is fut, nem csak péntek 13-án. Mivel a vizsgálat az, hogy a mező * karakterrel kezdődik-e, egy lépésköz, például a */2 is korlátozatlannak számít. Ez megegyezik a Vixie cron és a cronie viselkedésével; néhány más ütemező ettől eltérően működik.

    A következő futási időpontok a böngésző időzónája szerint, illetve UTC szerint számolódnak, amelyet a legtöbb kiszolgáló és felhő-ütemező használ. Maga a cron azon gép időzónáját használja, amelyen fut. A nyári/téli időszámítás átállásakor a valódi cron démonok eltérően viselkednek; ez az eszköz kihagyja azokat a helyi időpontokat, amelyek nem léteznek az óra előreállításakor, és az ismétlődő órát egyszer listázza. A bővített szintaxisok nem támogatottak: a hat- vagy hétmezős Quartz kifejezések másodpercekkel vagy évekkel, valamint a ?, L, W és # speciális karakterek.

    Példák

    Munkaidős állapotellenőrzés

    A */15 9-17 * * 1-5 azt jelenti, hogy hétfőtől péntekig 09:00 és 17:59 között 15 percenként fut. Az utolsó futás naponta 17:45-kor van.

    Éjszakai biztonsági mentés

    A 30 2 * * * minden nap 02:30-kor fut. Ha a kiszolgáló UTC-t használ, és Ön New Yorkban van, akkor a következő futások listája UTC módban azokat az időpontokat mutatja, amelyeket a kiszolgáló ténylegesen használni fog.

    A napmező csapdája

    A 0 9 1 * 1 kifejezés úgy néz ki, mint „9:00 a hónap első napján, ha az hétfő”, valójában azonban minden hónap 1-jén 09:00-kor és minden hétfőn is lefut. Ha csak az első hétfőn szeretné futtatni, használja a 0 9 1-7 * * ütemezést, és ellenőrizze a hét napját a szkriptben.

    Gyakori kérdések

    Mit jelent a */5 a cronban?

    A mező minden ötödik értékét jelenti, a legkisebb értéktől kezdve. A perc mezőben a */5 a 0, 5, 10 … 55. percben fut. Az óra mezőben a */5 a 0, 5, 10, 15 és 20 órakor fut, így a 20:00 és éjfél közötti szünet négy óra, nem öt.

    Miért fut a feladatom több napon, mint amire számítottam?

    Ha a hónap napja és a hét napja mező is korlátozott, a cron azokon a napokon fut, amelyek bármelyik feltételnek megfelelnek. A 0 0 15 * 1 például 15-én és minden hétfőn fut. Ha csak az egyik feltételt szeretné előírni, állítsa a két mező egyikét *-ra.

    Melyik időzónát használja a cron?

    A cron démont futtató szerver rendszer-időzónáját használja, kivéve, ha a crontab beállítja a CRON_TZ vagy TZ értéket (a cronie támogatja). A felhőalapú ütemezők gyakran alapértelmezés szerint UTC-t használnak. Az UTC kapcsolóval megnézheti, milyen időpontokat használna egy UTC szerver.

    Használhatok másodperc- vagy évmezőt?

    A szabványos cronban nem; az egyperces felbontású, és öt mezőt használ. A hat- és hétmezős formátumok, amelyek másodpercet és évet tartalmaznak, a Quartz, a Spring és hasonló könyvtárakhoz tartoznak, és ez az eszköz nem támogatja őket.

    A 0 vagy a 7 jelenti a vasárnapot?

    Mindkettő. A hét napja mezőben a 0 és a 7 egyaránt vasárnapot jelent, az 1 hétfőt, a 6 szombatot. A három betűs angol neveket is használhatja: SUN – SAT.

    Adatvédelem

    A kifejezést a böngészője elemzi, és a futási időpontok is ott kerülnek kiszámításra. A beírt adatok nem kerülnek feltöltésre, tárolásra, és nem szerepelnek az analitikában.