Expresii cron explicate
Lipește o expresie ca „30 4 1,15 * 5”: o primești ca frază în română, cu fiecare câmp explicat și cu următoarele zece rulări calculate.
Exemple:
Ce înseamnă
Următoarele rulări
Cum e citită expresia
Cinci câmpuri, în ordine: minut (0–59), oră (0–23), zi a lunii (1–31), lună (1–12 sau jan–dec), zi a săptămânii (0–7, unde 0 și 7 sunt duminica, sau sun–sat). Fiecare poate fi * (orice), un număr, un interval 1-5, o listă 1,15 sau un pas: */15 înseamnă din 15 în 15, 9-17/2 din două în două ore între 9 și 17.
Prescurtările @hourly, @daily, @weekly, @monthly, @yearly și @reboot sunt înțelese și ele. Ce urmează după cele cinci câmpuri, ca într-un rând din crontab, e comanda: o vezi în tabel, separat.
Ziua lunii și ziua săptămânii
Aici e capcana obișnuită. Dacă amândouă câmpurile de zi sunt restrânse, ziua se potrivește când se potrivește oricare dintre ele: 30 4 1,15 * 5 rulează pe 1 și 15 ale lunii și în fiecare vineri, cum spune manualul crontab(5). Dacă unul dintre ele începe cu *, chiar și */2, trebuie să se potrivească amândouă: așa face codul cron-ului din Debian și Ubuntu (Vixie cron), pe care îl urmăm.
Următoarele rulări sunt calculate cu aceleași reguli, în fusul orar al browserului tău; pe server contează fusul orar al serverului.
Nimic nu pleacă din browser
Expresia e citită și calculată în browserul tău; nu e trimisă nicăieri.
Întrebări frecvente
De ce „5/10” e semnalat?
Pentru că cron-ul din Debian și Ubuntu acceptă un pas doar după un interval sau după *. Unealta îl citește ca „5-59/10” și te avertizează, cu forma de scris în locul lui: intervalul întreg, până la capătul câmpului (59 la minute, 23 la ore, 31 la zilele lunii).
Merge și pentru cron cu secunde (Quartz, Spring)?
Nu: unealta citește formatul cu cinci câmpuri, cel din crontab. Ce urmează după al cincilea câmp e luat drept comandă și apare în tabel, la „Comandă”, așa că un câmp în plus se vede imediat.