raatools/

Generator Cron izraza

Vizualno izgradite i dekodirajte cron izraze s pet polja.

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

Što je cron?

Cron je standardni planer zadataka koji se nalazi u Unix i Linux operativnim sustavima. Izvršava naredbe ili skripte u navedenim vremenima i intervalima, što ga čini ključnim za administraciju sustava, DevOps automatizaciju i zakazivanje zadataka u pozadinskim aplikacijama. Naziv dolazi od grčke riječi chronos, što znači vrijeme.

Cron izraz je kompaktan niz od pet polja koji definira kada bi zadatak trebao biti pokrenut. Svako polje specificira vremensku komponentu — minute, sat, dan u mjesecu, mjesec i dan u tjednu. Zajedno, ta pet polja mogu izraziti rasporede koji sežu od „svake minute

Objašnjenje cron sintakse

Svako od pet polja prihvaća određene vrijednosti i posebne znakove. Zvjezdica (*) znači „svaka moguća vrijednost

Referenca polja

  • Minuta (0–59): Minuta sata kada zadatak treba biti pokrenut.
  • Sat (0–23): Sat dana u 24-satnom formatu. 0 je ponoć, 12 je podne.
  • Dan u mjesecu (1–31): Kalendarski dan. Ne postoji svaki dan u svakom mjesecu — cron automatski preskače nevaljane datume.
  • Mjesec (1–12): Kalendarski mjesec. 1 je siječanj, 12 je prosinac.
  • Dan u tjednu (0–6): Dan u tjednu. 0 je nedjelja, 6 je subota. Neki sustavi prihvaćaju i 7 za nedjelju.

Uobičajeni cron izrazi

  • 0 0 * * * — 0 0 * * * — Svaki dan u ponoć.
  • 0 9 * * 1-5 — 0 9 * * 1-5 — Radnim danima u 9:00.
  • 0 0 1 * * — 0 0 1 * * — Prvog dana svakog mjeseca u ponoć.
  • */15 * * * * — */15 * * * * — Svakih 15 minuta.
  • 0 */4 * * * — 0 */4 * * * — Svakih 4 sata u punom satu.

Česte greške u cronu

Najčešća greška je pogrešan redoslijed polja. Cron uvijek čita prvu minutu, zatim sat — pa „0 9

Izbjegavajte zakazivanje zadataka koji troše mnogo resursa točno u ponoć (0 0 * * *) jer mnogi drugi cron zadaci rade u isto vrijeme. Razmaknite zadatke za nekoliko minuta kako biste spriječili skokove opterećenja. Također pazite na zadatke koji traju dulje od svog intervala — ako se zadatak pokreće svake minute, ali traje 3 minute, imat ćete preklapajuće instance.

Dobre prakse

Uvijek preusmjeravajte izlaz crona u datoteku dnevnika (>> /var/log/myjob.log 2>&1) kako biste mogli otkloniti greške. Koristite apsolutne putanje za naredbe i skripte jer cron radi s minimalnom PATH okolinom. Testirajte izraz ovim alatom prije postavljanja u produkciju.

Za složenije potrebe zakazivanja razmotrite alternative croneu poput systemd tajmera (Linux), Celery Beat (Python) ili oblačnih zakazivača (AWS EventBridge, Google Cloud Scheduler). Oni nude značajke poput logike ponovnog pokušaja, nadzornih ploča i distribuiranog izvršavanja koje standardni cron nema.

Često postavljana pitanja

Može li cron pokrenuti zadatak svakih 30 sekundi?

Ne. Minimalna rezolucija crona je jedna minuta. Za pokretanje zadatka svakih 30 sekundi, zakažite ga svake minute i dodajte pauzu od 30 sekundi prije drugog izvršavanja unutar iste skripte. Umjesto toga, koristite systemd tajmer ili zakazivač specifičan za jezik za intervale kraće od minute.

Gdje se nalazi datoteka crontab?

Korisničke crontab datoteke pohranjene su u /var/spool/cron/ (Red Hat/CentOS) ili /var/spool/cron/crontabs/ (Debian/Ubuntu). Uređujte svoju datoteku naredbom „crontab -e