cron je Unix servis, obično dostupan na svim *nix operacijskim sustavima. Služi za definiranje periodičnog izvršavanja određenih zadataka, npr. rotiranje poslužiteljskih evidencija, dohvat elektroničke pošte ili za izradu pričuvnih kopija (backup).[1]
Obično postoji najmanje jedna datoteka na sustavu u koju se zapisuje raspored zadataka, najčešće je to /etc/crontab
(od cron-ova tablica). U crontabu su definirani vrijeme izvođenja zadataka i zadatci u sljedećem formatu:
# ┌───────────── minuta (0 - 59) # │ ┌────────────── sat (0 - 23) # │ │ ┌─────────────── dan u mjesecu (1 - 31) # │ │ │ ┌──────────────── mjesec (1 - 12) # │ │ │ │ ┌───────────────── dan u tjednu (0 - 7) (0 je nedjelja, 1 je ponedjeljak, # │ │ │ │ │ 2 je utorak, 7 je također nedjelja, mogu se rabiti i engleski nazivi dana u tjednu) # │ │ │ │ │ # │ │ │ │ │ # * * * * * zadatak odnosno naredba koju treba izvesti
Linux distribucije bazirane na Debianu obično u ovoj datoteci definiraju 4 dodatna direktorija za periodične zadatke unutar /etc
direktorija:
Dodatno, većina Linux distribucija rabi tzv. vixie-cron (autora Paula Vixija) koji ima ukupno sedam polja, pet gore navedenih za određivanje vremena izvođenja zadatka, šesto definira koji će korisnik biti vlasnik procesa odnosno pokrenutog zadatka, a sedmo je polje zadatak odnosno naredba; dakle korisnik je umetnut između prvih pet polja i samoga zadatka.
Ako postoje, sljedeće dvije datoteke mogu definirati koji korisnik smije rabiti cron servis na sustavu:
1 0 * * * printf > /var/log/apache/error_log
Gornja naredba čisti evidenciju pogrešaka Apache poslužitelja svaki dan minutu nakon ponoći.
0 21 * * * /home/mysql/scripts/export_dump.sh
Gornja naredba izvodi skriptu export_dump.sh u 21:00 svakoga dana.
|