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

uredi
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.

Izvori

uredi
  1. www.unixgeeks.org, pristupljeno 15. kolovoza 2016.

Vanjske poveznice

uredi
Nedovršeni članak Cron koji govori o računarstvu treba dopuniti. Dopunite ga prema pravilima Wikipedije.