Cron

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:

  • /etc/cron.hourly - zadatci unutar ovog direktorija izvršavaju se jednom svakoga sata
  • /etc/cron.daily - zadatci unutar ovog direktorija izvršavaju se jednom svakoga dana
  • /etc/cron.weekly - zadatci unutar ovog direktorija izvršavaju se jednom svakoga tjedna
  • /etc/cron.monthly - zadatci unutar ovog direktorija izvršavaju se jednom svakoga mjeseca

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:

  • /etc/cron.allow - ako datoteka postoji, korisnikovo ime mora biti u njoj da bi korisnik imao pravo definirati cron zadatke
  • /etc/cron.deny - ako datoteka postoji, korisnikovo ime ne smije biti u njoj da bi korisnik imao pravo definirati cron zadatke

Primjeri

1 0 * * *  printf > /var/log/apache/error_log

Gornja naredba čisti evidenciju pogrješ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.

Other Languages
العربية: كرون (يونكس)
català: Cron (Unix)
čeština: Cron
dansk: Cron
Deutsch: Cron
English: Cron
español: Cron (Unix)
فارسی: کرون جاب
suomi: Cron
français: Cron
עברית: Cron
magyar: Cron
日本語: Crontab
한국어: Cron
македонски: Cron
Nederlands: Cronjob
norsk: Cron
polski: Cron
română: Cron
русский: Cron
Simple English: Cron
svenska: Cron
ไทย: ครอน
українська: Cron
中文: Cron