raatools/

Generator expresii Cron

Construiți și decodificați expresii cron cu cinci câmpuri vizual.

Format: minute hour day-of-month month day-of-week

Use * for any value, 0-5 for ranges, 1,3,5 for lists, */5 for every N

Cron Expression
* * * * *
Description

every minute

Ce este cron?

Cron este planificatorul standard de sarcini din sistemele de operare Unix și Linux. Execută comenzi sau scripturi la momente și intervale specificate, ceea ce îl face esențial pentru administrarea sistemelor, automatizarea DevOps și planificarea aplicațiilor backend. Numele provine din cuvântul grecesc chronos, care înseamnă timp.

O expresie cron este un șir compact de cinci câmpuri care definesc când trebuie rulat un job. Fiecare câmp specifică o componentă temporală — minut, oră, zi din lună, lună și zi din săptămână. Împreună, aceste cinci câmpuri pot exprima programe variind de la 'în fiecare minut

Sintaxa cron explicată

Fiecare dintre cele cinci câmpuri acceptă valori specifice și caractere speciale. Un asterisc (*) înseamnă 'orice valoare posibilă

Referință pentru câmpuri

  • Minut (0–59): Minutul din oră când rulează job-ul.
  • Oră (0–23): Ora din zi în format 24 de ore. 0 este miezul nopții, 12 este prânzul.
  • Ziua din lună (1–31): Ziua calendaristică. Nu fiecare lună are 31 de zile — cron omite automat datele invalide.
  • Lună (1–12): Luna calendaristică. 1 este ianuarie, 12 este decembrie.
  • Ziua din săptămână (0–6): Ziua săptămânii. 0 este duminică, 6 este sâmbătă. Unele sisteme acceptă și 7 pentru duminică.

Expresii cron frecvente

  • 0 0 * * * — 0 0 * * * — În fiecare zi la miezul nopții.
  • 0 9 * * 1-5 — 0 9 * * 1-5 — În zilele lucrătoare la ora 9:00.
  • 0 0 1 * * — 0 0 1 * * — Prima zi a fiecărei luni la miezul nopții.
  • */15 * * * * — */15 * * * * — La fiecare 15 minute.
  • 0 */4 * * * — 0 */4 * * * — La fiecare 4 ore exact.

Greșeli frecvente cu cron

Cea mai frecventă greșeală este plasarea câmpurilor în ordine greșită. Cron citește întotdeauna minutul primul, apoi ora — deci '0 9

Evitați programarea job-urilor intensive la exact miezul nopții (0 0 * * *) deoarece multe alte job-uri cron rulează în același timp. Decalați job-urile cu câteva minute pentru a preveni vârfurile de încărcare. Aveți grijă și cu job-urile care durează mai mult decât intervalul lor — dacă un job rulează în fiecare minut, dar durează 3 minute, veți avea instanțe suprapuse.

Bune practici

Redirecționați întotdeauna ieșirea cron într-un fișier log (>> /var/log/myjob.log 2>&1) pentru a putea depana erorile. Folosiți căi absolute pentru comenzi și scripturi deoarece cron rulează cu un mediu PATH minim. Testați expresia cu un instrument ca acesta înainte de a o implementa în producție.

Pentru nevoi complexe de programare, luați în considerare alternative la cron, cum ar fi temporizatoarele systemd (Linux), Celery Beat (Python) sau planificatoarele cloud (AWS EventBridge, Google Cloud Scheduler). Acestea oferă funcții precum logica de reîncercare, tablouri de bord de monitorizare și execuție distribuită pe care cron-ul standard nu le are.

Întrebări frecvente

Poate cron să ruleze un job la fiecare 30 de secunde?

Nu. Rezoluția minimă a cron-ului este un minut. Pentru a rula o sarcină la fiecare 30 de secunde, programați-o în fiecare minut și adăugați un sleep de 30 de secunde înainte de o a doua execuție în același script. Alternativ, folosiți un temporizator systemd sau un planificator specific limbajului pentru intervale sub un minut.

Unde se află fișierul crontab?

Crontab-urile utilizatorilor sunt stocate în /var/spool/cron/ (Red Hat/CentOS) sau /var/spool/cron/crontabs/ (Debian/Ubuntu). Editați-l cu 'crontab -e