Cron i Crontab

Cron i Crontab

offline
  • Fil  Male
  • Legendarni građanin
  • Pridružio: 11 Jun 2009
  • Poruke: 16586

One poslove koje su korisnici Windowsa obavljali preko Task Schedulera, korisnici Unix-like sistema mogu da obave preko Cron-a.

Cron, dakle, omogućava zakazivanje poslova (dakle, određenih komandi/skripti) u određeno vreme i, takođe, omogućava periodično izvršavanje tih poslova.

Crontab (Cron table) je tekstualna datoteka, u koju dodajemo Cron unose i naznačavamo u koje periode će se pokrenuti određeni unos.

Alat se koristi za održavanje sistema, administraciju sistema i drugih poslova.

Cron se automatski pokrece sa lokacije: /etc/init.d i traži crontab-ove unutar [izvor: link ] :

Arrow spool oblast: /var/spool/cron/crontabs
// ucitavaju se u memoriju
* crontab-ovima, u ovoj oblasti, se ne treba direktno pristupati, vec preko crontab komande.

Arrow Lokacija: /etc/crontab
// ovde dolaze u obzir i podfolderi: 'cron.hourly', 'cron.daily', 'cron.weekly' i 'cron.monthly'. Ukoliko stavimo skript unutar jednog od ovih direktorijuma, skript će se pokretati svakog časa, dana, sedmično ili mesečno, respektivno.
* ovim unosima se može direktno pristupati
* Datoteka /etc/crontab je "system wide", dakle, na nivou celog sistema, za sve korisnike i ovoj datoteci mogu pristupiti samo administratori.

Arrow Lokacija: /etc/cron.d

Svaki korisnik mašine može da ima svoje crontabove (osim ukoliko to nije zabranjeno od strane administratora. Videti sekciju "ostalo").


Lokacija datoteke iz foldera etc:



Idea Primer upotrebe: LINK


Crontab komanda ima sledeće parametre:

Citat: crontab -e --> izmena crontab datoteke ili kreacija nove (ako ista ne postoji)
crontab -l --> prikaz sadržaja crontab datoteke.
crontab -r --> uklanjanje crontab datoteke.
crontab -u --> privilegovani korisnici mogu da koriste ovu opciju da menjaju crontab drugih korisnika. Više o tome: link.


Idea U literaturi se pominje da na nekim mašinama postoji i crontab -v , koji prikazuje vreme zadnje izmene crontab fajla; ja ovaj switch nemam.



Upotreba crontaba


Iz primera se može videti sledeći unos u crontab-u:

 05 0 * * * root /root/scripts/sarg.daily
 15 1 * * 1 root /root/scripts/sarg.weekly
 0 2 1 * * root /root/scripts/sarg.monthly


Da bi rastumačili šta znače ove vrednosti, kreirao sam sledeću sliku:




Prakticni primeri i objašnjenja se mogu sagledati iz ove slike:




Iz primera se može videti da su dozvoljeni karakteri "," i "-", gde zarezom označavamo više pokretanja u specifična vremena, a crticom kontinuitet u izvršavanju (videti primere).



Ostalo:


Arrow Ukoliko želite da komanda crontab -e pokrene neki drugi editor (po default je "vi"), kucajte:
Citat:export EDITOR=nano
crontab -e

Da vratite na "vi" - export EDITOR=vi


Arrow Ukoliko želite da kontrolišete ko ima pristup cron-u. Moguce je koristiti jednu od ovih datoteka, ili obe:
- Datoteka: /etc/cron.allow
- Datoteka: /etc/cron.deny
// potrebno je uneti ime korisnika u odgovarajucu datoteku.

Primeri:
echo ALL >>/etc/cron.deny //zabranjuje cron svim korisnicima
echo bocke >>/etc/cron.allow //bocke može da koristi blagodeti cron-a


Arrow Po defaultu, Cron šalje email korisniku koji izvršava neki cron posao.
Moguće je onemogućiti slanje mail-a, na kraju komande je neophodno uneti: >/dev/null 2>&1 .
// ( više informacija )



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 669 korisnika na forumu :: 19 registrovanih, 6 sakrivenih i 644 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: aleksandarbl, AMCXXL, Areal84, babaroga, bozomotika, Dimitrise93, Georgius, havoc995, helen1, janbo, ljuba, Marko Marković, mnn2, nenad81, pein, Srle993, trajkoni018, Trpe Grozni, 125