Log in


Forgot your password?
prijatelji LUGoNSa
gnu.gif
linuxzasve.jpg
hulk.jpg
zextras_logo.png
 
You are here: Home / Uputstva / Opšte / Uređivanje crontab-a

Uređivanje crontab-a

by Nikola Kotur last modified Aug 04, 2006 12:04 AM
Kratko uputstvo za uređivanje crontab fajla.

Cron je alatka koja omogućava automatsko izvršavanje poslova (programa) u pozadini u određenim vremenskim intervalima od strane cron demona. Ovi poslovi se obično zovu cron poslovi.

Crontab je fajl u kome se nalaze ti poslovi izlistani sa određenim vremenom ili intervalom izvršavanja.

U ovom članku ću ukratko opisati kako se uređuje taj fajl.

Pre svega treba znati da, što se tiče vixiecrona, a ne Dillonovog koji se koristi u većini modernih distribucija, možete koristiti crontab ukoliko se vaše korisničko ime nalazi u fajlu /usr/lib/cron/cron.allow. Ukoliko taj fajl ne postoji, možete koristiti crontab ukoliko se vaše ime ne nalazi u fajlu /usr/lib/cron/cron.deny. Ukoliko postoji samo cron.deny, ali je prazan, svi korisnici mogu da koriste crontab. Ukoliko ne postoji nijedan fajl, niko sem root-a ne može da ga koristi.

Komande

export EDITOR=vi

Ovim određujete koji će se editor koristi za uređivanje crontaba. Vi je podrazumevan, a ja, na primer, volim da stavim Emacs. Vi ovde stavite šta vama odgovara.

crontab -e     Uređivanje crontab fajla, a ako ne postoji, biće napravljen.
crontab -l      Prikaz crontaba.
crontab -d     Uklanjanje crontab fajla.

Sintaksa fajla

*   *   *   *   *  komanda koja će se izvršiti
-   -   -   -   -
|   |   |   |   |
|   |   |   |   +----- dan nedelje (0 - 6) (nedelja=0)
|   |   |   +------- mesec (1 - 12)
|   |   +--------- dan mesec (1 - 31)
|   +----------- sat (0 - 23)
+------------- minut (0 - 59)

Kolone sa vrednostima za vreme mogu sadržati i * ili listu elemenata koji su razdvojeni zarezima.

Primeri

Brisanje fajlova iz /user/tmp direktorijuma svaki dan u 17:15 sati:

15   17   *   *   *   rm /user/tmp/*

Menjanjem parametara za vreme mogu se dobiti sledeći intervali:

01:30 svakog prvog januara, juna i decembra:

30   1   1   1,6,12   *

U 08:00 svakog radnog dana, ali samo u oktobru:

0   20   *   10   1-5

U ponoć svakog 1, 10, 15 i 25. u mesecu:

0   0   1,10,15,25   *   *

U 15:05 i 15:10 svakog ponedeljka i svakog 10. u mesecu:

5,10   15   10   *   1

Isključivanje slanja rezultata na e-poštu

Podrazumevano, cron rezultate svakog posla šalje na e-poštu koja je određena MAILTO parametrom unutar crontaba ili na e-poštu korisnika čiji je crontab. Ukoliko to nije potrebno, a često nije, preusmerite sve rezultate na sledeći način tako što ćete dodati na kraj svake komande koja treba da se izvrši:

> /dev/null 2>&1

Log fajl svih cron poslova

Ukoliko želite da skupljate logove svih cron poslova, što nekada može biti korisno u svrhe traženja grešaka ili iz ljubavi prema verovatno besmislenom tekstu, to možete uraditi tako što ćete na kraj svake komande koja treba da se izvrši dodati:

> /home/user/logovi/cron.log

Korisni intervali

Pored intervala koji se zadaju brojevima, postoji još nekoliko vrlo zgodnih:

@reboot Pokreni jednom, pri pokretanju računara.

@yearly Pokreni jednom godišnje, isto što i "0 0 1 1 *".

@monthly Pokreni jednom mesečno, isto što i "0 0 1 * *".

@weekly Pokreni jednom nedeljno, isto što i "0 0 * * 0".

@daily Pokreni jednom dnevno, isto što i "0 0 * * *".

@hourly Pokreni svakog sata, isto što i "0 * * * *".

Šta dalje?

Ovo je samo kratko uputstvo za crontab, a ukoliko vam treba više informacija, pogledajte man stranicu za crontab i potražite na Internetu opširnija uputstva. Naravno da crontab krije još mnogo interesantnih osobina.

Document Actions