Planiranje periodičnih zadataka pomoću Cron-a u Linuxu
cron
je Linux program koji se koristi za planiranje naredbe ili skripte koja će se izvršiti kasnije. Također se može koristiti za planiranje povremenog izvođenja naredbi i skripti. Programi zakazani pomoću cron-a obično se nazivaju Cron poslovi. Njegova glavna upotreba je za zadatke administracije sustava kao što su redovite sigurnosne kopije, redovita ažuriranja softvera i drugi slični zadaci održavanja.
Uvod
cron
radi kao demon u Linuxu, tj. kao pozadinski proces. Omogućuje korisnicima izravno zakazivanje poslova pomoću naredbe crontab, koja otvara konfiguracijsku datoteku pod nazivom Cron File u uređivaču. Za svakog korisnika kreiraju se zasebne Cron datoteke.
Izrada Cron datoteke i osnovne sintakse
The crontab
naredba se može izvršiti sa -e
označite za uređivanje postojeće Cron datoteke. Ako datoteka već ne postoji, bit će kreirana. Ako korisnik prvi put poziva naredbu i ako je na Linux sustavu instalirano više uređivača datoteka, naredba će tražiti od korisnika da odabere zadani uređivač s popisa uređivača.
Nakon odabira uređivača, kreirat će se i otvoriti cron datoteka za korisnika. Sada možete odrediti poslove u datoteci.
Opća sintaksa za određivanje Cron posla je:
U osnovi, pokrenut će se u navedenoj 'minuti' (0-59), 'sat' (0-23), 'dan u mjesecu' (1-31), mjesec (1-12), dan u tjednu, (0-7, Za nedjelju se može koristiti 0 ili 7) u Cron Jobu. Da pojednostavimo, uzmimo primjer:
1 2 3 4 5 odjek "Zdravo"
To znači zapovijed odjek "Zdravo"
izvodit će se svakog petog dana u tjednu (petak) i svakog 3. dana u mjesecu, svakog 4. mjeseca u godini (travanj), u vrijeme 02:01 (2. sat prva minuta).
Ako se ista naredba treba izvoditi svaki dan u 02:01, sintaksa će izgledati ovako:
1 2 * * * odjek "Zdravo"
The *
označava 'uvijek' ili 'za sve', npr. za sve mjesece, za sve dane u tjednu itd.
Operator naredbe (,
) može se koristiti za unos popisa vrijednosti kada se zadatak treba ponoviti. Na primjer:
0 2,3,4 * * * odjek "Zdravo"
Program će se izvoditi svaki dan u 2, 3 i 4 sata ujutro.
Slično, crtica (-
) operator može se koristiti za određivanje raspona za koji će se zadatak ponoviti. Na primjer:
0-20 2 * * * odjek "Zdravo"
Ovo će pokrenuti program u 02:00, 02:01, 02:02 i tako dalje do 02:20.
Konačno, imamo kosa crta ( /
) operator. Ovaj operator se koristi za određivanje vrijednosti intervala prema kojoj će se zadatak ponoviti. Npr. */15
u polju minuta znači da zadatak treba ponavljati svakih 15 minuta. 2-10/2
u polju sati navodi da se zadatak ponavlja između 2 ujutro i 10 ujutro nakon svakih 2 sata (2 ujutro, 4 ujutro, 6 ujutro, 8 ujutro, 10 ujutro).
*/15 2-10/2 * * * odjek "Zdravo"
Nakon što unesete unos u Cron datoteku, spremite datoteku i izađite iz uređivača.
Trebali biste vidjeti a 'instalacija novog crontaba' poruku u terminalu nakon spremanja i izlaska iz crontab datoteke.
Makronaredbe
Određene makronaredbe unaprijed su definirane u Cron-u koje specificiraju neke uobičajeno potrebne vremenske intervale, kao što su svaki sat, svaki dan, svaki mjesec itd.
Da biste pokrenuli zadatak jednom dnevno na početku dana, tj. u 00:00, koristite makronaredbu @dnevno
. Ovo je ekvivalentno 0 0 * * *
.
Ovo možete staviti u Cron datoteku na isti način kao što je prije opisano.
Na sličan način mogu se koristiti i druge makronaredbe, tj. @po satu
(minuta 0 svakog sata), @mjesečno
(00:00 prvog dana u mjesecu), @tjedni
(00:00 prvog dana u tjednu, @godišnje
(00:00 prvog siječnja svake godine), @ponovno podizanje sustava
(pri svakom pokretanju računala).
Zaključak
U ovom članku naučili smo kako dodati Cron poslove za redovito izvršavanje u Linuxu. Ispravno korištenje Cron Jobsa je zgodno čak i za najdosadnije ručne zadatke s kojima se korisnik suočava, npr. redovito brisanje starih dnevnika, arhiviranje svih vrsta hladnih podataka (podaci kojima se rijetko pristupa) itd.