Crontab u Linuxu: PRIMJERI raspoređivanja poslova

Sadržaj:

Anonim

Što je crontab?

Cron je dobio ime po grčkoj riječi "Chronos" koja se koristi za vrijeme. To je sistemski postupak koji će automatski izvršavati zadatke prema određenom rasporedu. To je skup naredbi koji se koriste za izvršavanje redovnih zadataka raspoređivanja. Crontab je kratica za "cron table". Omogućuje upotrebu planera poslova, koji je poznat kao cron za izvršavanje zadataka.

Crontab je također naziv programa koji se koristi za uređivanje tog rasporeda. Pokreće je crontab datoteka, konfiguracijska datoteka koja ukazuje na naredbe ljuske koje će se povremeno izvoditi za određeni raspored.

U ovom vodiču za operativni sustav naučit ćete:

  • Što je crontab?
  • Zašto koristiti CRONJOB?
  • Kako koristiti cron u Linuxu?
  • Linux Crontab format
  • Kako dodati / izmijeniti Crontab
  • Kako navesti Crontab
  • Važni primjeri Crontaba

Zašto koristiti Cronjobs?

Evo razloga za upotrebu Cronjobsa u Linuxu:

  • Pomaže OS-u da napravi zakazanu sigurnosnu kopiju datoteka dnevnika ili baze podataka.
  • Izbrišite stare datoteke dnevnika
  • Arhivirajte i očistite tablice baze podataka
  • Pošaljite bilo koju e-poruku s obavijestima, poput Biltena, e-pošte s istekom lozinke
  • Redovito čišćenje predmemoriranih podataka
  • Crontab je idealna opcija za automatizaciju Unix poslova.
  • Koristi se za automatizaciju održavanja sustava

Kako koristiti cron u Linuxu?

Linux sistemski paket ima koristan alat za planiranje zadataka pod nazivom crontab. Crontab je popularan jer se može pokrenuti automatizirani postupak kao root. Stoga automatizirani proces koji se izvodi kao root olakšava promjene sustava. Samo trebate promijeniti zadatak, a zatim pričekati dok se zadatak ponovno ne pokrene.

Linux Crontab format

Crontab Linuxa ima šest polja. Prvih pet polja definira vrijeme i datum izvršenja, a šesto polje koristi se za izvršavanje naredbi.

Sintaksa Crontaba:

[Minute] [hour][Day_of_the_Month][Month_of_the_Year][Day_of_the_Week][command]

  • Astrics (*): Koristite za podudaranje
  • Definiraj raspon: omogućuje vam definiranje raspona uz pomoć crtice poput 1-10 ili 30-40 ili siječnja, ponedjeljka.
  • Definiranje više raspona: omogućuje vam definiranje različitih raspona s naredbama odvojenim poput apr-jun, oct-dec.

Kako dodati / izmijeniti Crontab

Korisnik može urediti svoje zadatke crontab uz pomoć sljedeće crontab naredbe:

$ crontab -u -e

Gornja naredba otvorit će osobnu crontab konfiguraciju vašeg računalnog sustava, koju možete uređivati ​​pomoću zadanog uređivača teksta.

Nema potrebe za ponovnim pokretanjem vašeg crontaba, jer će automatski preuzeti vaše promjene kada upotrijebite sljedeću naredbu.

$ crontab -l

Da biste uklonili zadatke crontab, upotrijebite sljedeću naredbu.

$ crontab -r

Da biste dodali ili ažurirali posao u crontabu, upotrijebite donju naredbu.

crontab -e

Naredba za uređivanje crontaba drugog korisnika

crontab -u username -e

Kako navesti Crontab

Naredba za pregled crontab unosa trenutnog korisnika

crontab -l

Naredba za pregled crontab unosa određenog korisnika:

crontab -u username -l

Važni primjeri Crontaba

Evo nekoliko važnih primjera Crontaba

Opis Naredba
Cron naredba za obavljanje različitih poslova raspoređivanja. Ispod zadane naredbe izvršavajte se u 7:00 i 17:00 dnevno.
0 7,17 * * * /scripts/script.sh
Naredba da se izvrši cron nakon svakih 5 minuta.
*/5* * * * * /scripts/script.sh
Naredba Cron planera pomaže vam izvršiti zadatak svakog ponedjeljka u 5 ujutro. Ova je naredba korisna za obavljanje tjednih zadataka poput čišćenja sustava.
0 5 * * mon /scripts/script.sh
Naredite pokrenite skriptu u razmaku od 3 minute.
*/3 * * * * /scripts/monitor.sh
Naredba za zakazivanje cron-a do kojeg se izvršava za određeni mjesec. Ova naredba za pokretanje zadataka izvodi se u veljači, lipnju i rujnu. Ponekad trebamo zakazati zadatak za izvršavanje odabranog mjesečnog zadatka.
* * * feb,jun,sep * /script/script.sh
Naredba za izvršenje odabranim danima. Ovaj će se primjer prikazivati ​​svakog ponedjeljka i srijede u 17:00.
0 17 * * mon,wed /script/script.sh
Ova naredba omogućuje izvršavanje crona prve subote u mjesecu.
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh
Naredba za pokretanje skripte u intervalu od 6 sati kako bi se mogla konfigurirati kao u nastavku.
0 */6 * * * /scripts/script.sh
Ova naredba zakazuje zadatak koji će se izvršiti dva puta u ponedjeljak i utorak. Upotrijebite sljedeće postavke.
0 4,17 * * mon,tue /scripts/script.sh
Naredba zakažite izvršavanje crona nakon svakih 15 sekundi.
* * * * * /scripts/script.sh* * * * * sleep 15; /scripts/script.sh
Naredba za raspored zadataka na godišnjoj osnovi. @godisnja vremenska oznaka je = do "0 0 5 1 *". Ovo izvršava zadatak u petoj minuti svake godine. Pomoću nje možete poslati čestitke za novu godinu.
@yearly /scripts/script.sh
Zapovjedne zadatke za izvršavanje na mjesečnoj bazi. @mjesečna vremenska oznaka slična je "0 0 1 * *". Ovaj izraz naredbe omogućuje izvršavanje zadatka u prvoj minuti mjeseca.
@monthly /scripts/script.sh
Naredba za izvršavanje više zadataka pomoću jednog cron-a.
* * * * * /scripts/script.sh; /scripts/scrit2.sh
Naredba za raspored zadataka za izvršavanje na tjednoj bazi. Oznaka vremena @weekly slična je "0 0 4 * sun". To se koristi za obavljanje tjednih zadataka poput čišćenja sustava itd.
@weekly /bin/script.sh
Zadatak će biti zakazan za svakodnevno izvršavanje. Oznaka vremena @daily slična je "0 2 * * *". Zadatak izvršava u drugoj minuti svakog dana.
@daily /scripts/script.sh
Omogućuje izvršavanje zadataka po satu. Oznaka vremena po satu slična je "0 * * * *". Ova naredba izvršava zadatak u prvoj minuti svakog sata.
@hourly /scripts/script.sh
Omogućuje izvršavanje zadataka pri ponovnom pokretanju sustava. Izraz @reboot koristan je za one zadatke koje sustav želi pokrenuti prilikom pokretanja vašeg sustava. Ovo je korisno za automatski pokretanje pozadine zadataka.
@reboot /scripts/script.sh

Sažetak:

  • Cron je dobio ime po grčkoj riječi "Chronos" koja se koristi za vrijeme.
  • Cronjobs pomažu OS-u da napravi planiranu sigurnosnu kopiju datoteka dnevnika ili baze podataka.
  • Linux sistemski paket ima koristan alat za planiranje zadataka pod nazivom crontab koji se može zakazati za pokretanje automatiziranog procesa kao root.
  • Crontab Linuxa ima šest polja. Prvih pet polja definira vrijeme i datum izvršenja, a šesto polje koristi se za izvršavanje naredbi.