Stranica: 1/1.

crontab allmighty

Postano: 07 sij 2010, 12:27
Postao/la stefan
CRON je job scheduler na unixoidnim operativnim sustavima.
Uređivanje job-ova se vrsi preko crontab, konfiguracijskog fajla u kojem se specificiraju chell naredbe i raspored njihovog izvođenja.

Otvaranje konfiguracijskog fajla (tablice) u defaultnom editoru:

Kod: Označi sve

crontab -e
Promjena defaultnog editora u Kate ;):

Kod: Označi sve

export EDITOR=/usr/bin/kate
U fajlu svaka linija predstavlja jedan job - i to tako da prvi dio odredjuje raspored izvodjenja a drugio dio shell skriptu koja predstavlja job.
Postoje dva nacina definiranja rasporeda. Jednostavniji ali i dosta ogranicen vrsi se pomocu preddefiniranih 'termina':

Kod: Označi sve

@daily ~/script.sh
Preddefinirani termini:

Kod: Označi sve

@reboot 	Run once, at startup. 	None
@yearly 	Run once a year 	0 0 1 1 *
@annually 	(same as @yearly) 	0 0 1 1 *
@monthly 	Run once a month 	0 0 1 * *
@weekly 	Run once a week 	0 0 * * 0
@daily 		Run once a day 		0 0 * * *
@midnight 	(same as @daily) 	0 0 * * *
@hourly 	Run once an hour 	0 * * * *

i slozeniji i potpuno fleksibilan i konfigurabilan:

Kod: Označi sve

0 0 * * * ~/script.sh
Ovim nacinom definiramo 5 polja, koja redom predstavljaju:
minute (0 - 59)
hour (0 - 23)
day of month (1 - 31)
month (1 - 12) OR jan,feb,mar,apr ...
day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

Operatori
* znaci "svaki" - sve moguce vrijednosti polja
, je separator u listi
- sluzi za definiranje raspona
/ korak, sluzi za preskakanje

Kod: Označi sve

0 0 * * * ~/script.sh
mozemo prevesti kao "Izvrsi skriptu script.sh u 0 minuta i 0 sati svaki dan u mjesecu, svaki mjesec i svaki dan u tjednu"

Kod: Označi sve

*/5 * * * *  ~/test.pl
"Izvrsi skriptu test.pl svakih 5 minuta svaki sat, svaki dan u mjesecu, svaki mjesec i svaki dan u tjednu"

Kod: Označi sve

0 12 * * 1-5 ~/radno.sh
"Izvrsi skriptu radno.sh u 0 minuta i 12 sati svaki radni dan (od ponedjeljka=1 do petka=5)"

Kod: Označi sve

0 12 * * 1,5 ~/radno.sh
"Izvrsi skriptu radno.sh u 0 minuta i 12 sati ponedjeljkom i petkom)"

Tko vise voli GUI moze sve ovo preko KCRON-a (KDE Task Scheduler)