Cron Expression Parser
Analizați expresiile cron și vedeți o explicație lizibilă de către om a momentului în care acestea se execută. Perfect pentru dezvoltatorii și administratorii de sistem care trebuie să creeze sau să înțeleagă programările lucrărilor cron. Evitați greșelile de programare vizualizând exact când se vor executa expresiile dvs. cron.
Întrebări frecvente
O expresie cron este un șir de 5 sau 6 câmpuri care definește un program pentru sarcini automate în sistemele de tip Unix. Câmpurile reprezintă: minute (0-59), ore (0-23), ziua lunii (1-31), luna (1-12) și ziua săptămânii (0-7, unde 0 și 7 sunt duminica). De exemplu, "0 9 * * 1" înseamnă "rulează în fiecare luni la ora 9:00 AM".
Începeți cu cinci asteriscuri (* * * * *) reprezentând minut, oră, zi, lună, zi a săptămânii. Înlocuiți asteriscurile cu valori sau intervale specifice. De exemplu: "30 14 * * * *" rulează zilnic la ora 14:30, "0 0 1 * * *" rulează la miezul nopții pe data de 1 a fiecărei luni, "*/15 * * * * *" rulează la fiecare 15 minute. Utilizați parser-ul nostru pentru a verifica dacă expresia dvs. corespunde așteptărilor.
Un asterisc înseamnă "fiecare" sau "orice" pentru unitatea de timp respectivă. De exemplu, * în câmpul oră înseamnă fiecare oră, * în câmpul zi înseamnă fiecare zi. Astfel, "0 * * * *" înseamnă "la minutul 0 al fiecărei ore" (orar), în timp ce "* * * * *" înseamnă "în fiecare minut". Este un caracter wildcard care se potrivește cu toate valorile posibile pentru câmpul respectiv.
Utilizați sintaxa valorii pasului: */N. Pentru fiecare 5 minute: '*/5 * * * *'. Pentru fiecare 3 ore: '0 */3 * * *'. Sintaxa */N înseamnă "fiecare a N-a valoare" - astfel încât */5 în câmpul minute înseamnă minutele 0, 5, 10, 15 etc. De asemenea, puteți utiliza intervale cu trepte precum "0-30/5" pentru fiecare 5 minute din prima jumătate de oră.
Da! Utilizați 1-5 în câmpul zilei săptămânii (al cincilea câmp). De exemplu, "0 9 * * 1-5" rulează la ora 9 AM de luni până vineri. Luni este 1 și vineri este 5. De asemenea, puteți enumera zile specifice: "0 9 * * 1,3,5" funcționează la ora 9 AM numai luni, miercuri și vineri.
Acestea sunt două moduri diferite de a specifica zilele în care se execută o sarcină. Ziua lunii (câmpul 3) utilizează datele 1-31, în timp ce ziua săptămânii (câmpul 5) utilizează 0-7 (0 și 7 sunt duminica). Dacă sunt specificate ambele (nu *), lucrarea se execută atunci când oricare dintre condiții corespunde. De exemplu, "0 0 1 * 1" se execută la miezul nopții pe data de 1 a fiecărei luni ȘI în fiecare luni.
Între orele 9:00 și 17:00 în zilele lucrătoare: "0 9-17 * * 1-5" rulează la începutul fiecărei ore. La fiecare 30 de minute în timpul orelor de lucru: '*/30 9-17 * * 1-5'. Intervalul orar 9-17 acoperă de la 9 AM la 5 PM, iar 1-5 limitează execuția de luni până vineri.
Ele sunt echivalente - ambele rulează zilnic la miezul nopții. Multe implementări cron acceptă șiruri speciale precum @daily, @hourly, @weekly, @monthly și @yearly ca prescurtări. Acestea sunt mai ușor de citit, dar mai puțin flexibile decât expresiile complete. Utilizați prescurtările pentru intervalele comune și expresiile complete pentru programele personalizate.
Expresiile cron standard rulează pe baza orei de sistem a serverului. Pentru a gestiona fusurile orare, fie setați corect fusul orar al serverului, fie calculați diferența de timp. Unele implementări cron avansate acceptă specificații privind fusul orar, dar formatul de bază de 5 câmpuri nu include informații privind fusul orar.
Utilizați analizorul nostru de expresii Cron pentru a verifica dacă expresia dvs. prezintă descrierea programului așteptat. Parseerul explică în termeni simpli când se va executa activitatea dvs., ajutându-vă să depistați erori precum "0 9 31 2 *" (data de 31 februarie nu există) înainte de implementarea în producție.
