Crontab u Linuxu: PRIMJERI rasporeda poslova

Što je crontab?

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

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

Zašto koristiti Cronjobs?

Evo razloga za korištenje Cronjobsa u Linuxu:

  • Pomaže OS-u da napravi planiranu sigurnosnu kopiju log datoteka ili baze podataka.
  • Izbrišite stare zapisničke datoteke
  • Archive i očistiti tablice baze podataka
  • Pošaljite bilo koju obavijest e-poštom kao što su bilteni, e-pošta o isteku 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 sustav pack ima koristan planer zadataka pod nazivom crontab. Crontab je popularan jer se može zakazati za pokretanje automatiziranog procesa kao root. Stoga pokretanje automatiziranog procesa kao root olakšava promjene sustava. Samo trebate promijeniti zadatak i zatim pričekati dok se zadatak ponovno ne pokrene.

Linux Crontab format

Crontab za Linux ima šest polja. Prvih pet polja definira vrijeme i datum izvršenja, a 6. polje služi za izvršenje naredbe.

Crontab sintaksa:

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

Linux Crontab format

  • Astrici (*): Koristite za slaganje
  • Definirajte raspon: Omogućuje definiranje raspona uz pomoć crtice poput 1-10 ili 30-40 ili jan-mar, pon-srijeda.
  • Definirajte više raspona: Omogućuje definiranje različitih raspona s naredbama odvojenim poput travanj-lipanj,listopad-prosinac.

Kako dodati/modificirati Crontab

Korisnik može uređivati ​​svoje crontab poslove uz pomoć sljedeće naredbe crontab:

$ 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 koristite sljedeću naredbu.

$ crontab -l

Da biste uklonili svoje crontab zadatke, koristite sljedeću naredbu.

$ crontab -r

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

crontab -e

Naredba za uređivanje crontab-a drugog korisnika

crontab -u username -e

Kako navesti Crontab

Naredba za prikaz crontab unosa trenutnog korisnika

crontab -l

Naredba za pregled crontab unosa određenog korisnika:

crontab -u username -l

Važni Crontab primjeri

Evo nekoliko važnih primjera Crontaba

Description naredba
Naredba Cron za obavljanje raznih poslova raspoređivanja.
Dolje danu naredbu izvršavajte u 7 ujutro i 5 sati dnevno.
0 7,17 * * * /scripts/script.sh
Naredba za izvršavanje cron-a nakon svakih 5 minuta.
*/5* * * * *  /scripts/script.sh
Cron planer naredba pomaže vam da izvršite zadatak na svakom Monday u 5 ujutro. Ova je naredba korisna za obavljanje tjednih zadataka poput čišćenja sustava.
0 5 * * mon  /scripts/script.sh
Naredba pokreni vašu skriptu u intervalu od 3 minute.
*/3 * * * * /scripts/monitor.sh
Naredba za planiranje crona koji se izvršava za određeni mjesec.
Ova naredba za pokretanje zadataka izvodi se u veljači, lipnju i rujnu. Ponekad moramo zakazati zadatak kako bismo izvršili odabrani mjesečni zadatak.
* * * feb,jun,sep *  /script/script.sh
Naredba koju treba izvršiti odabranim danima. Ovaj će primjer pokrenuti svaki Monday i srijeda u 5 sati.
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 ispod.
0 */6 * * * /scripts/script.sh
Ova naredba raspoređuje zadatak koji će se izvršiti dva puta Monday i utorak. Za to koristite sljedeće postavke.
0 4,17 * * mon,tue /scripts/script.sh
Naredba planira izvršavanje crona nakon svakih 15 sekundi.
* * * * * /scripts/script.sh
* * * * *  sleep 15; /scripts/script.sh
Naredba za raspored zadataka na godišnjoj bazi.
@godišnja vremenska oznaka je= na “0 0 5 1 *”. Ovo izvršava zadatak u petoj minuti svake godine. Možete ga koristiti za slanje novogodišnjih čestitki.
@yearly /scripts/script.sh 
Zadaci zapovijedanja za izvršavanje na mjesečnoj bazi.
@mjesečna vremenska oznaka slična je "0 0 1 * *". Ovaj naredbeni izraz omogućuje izvršenje zadatka u prvoj minuti mjeseca.
@monthly /scripts/script.sh
Naredba za izvršavanje više zadataka koristeći jedan cron.
* * * * * /scripts/script.sh; /scripts/scrit2.sh
Naredba za planiranje zadataka za izvršavanje na tjednoj bazi.
Vremenska oznaka @weekly slična je "0 0 4 * sunce". Ovo se koristi za obavljanje tjednih zadataka kao što je čišćenje sustava itd.
@weekly /bin/script.sh
Zadatak će se rasporediti za izvršavanje na dnevnoj bazi.
@dnevna vremenska oznaka slična je "0 2 * * *". Izvršava zadatak u drugoj minuti svakog dana.
@daily /scripts/script.sh
Omogućuje izvršavanje zadataka svaki sat.
@hourly vremenska oznaka 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.
@reboot izraz je koristan za one zadatke koje sustav želi pokrenuti pri pokretanju vašeg sustava. Ovo je korisno za automatsko pokretanje pozadinskih zadataka.
@reboot /scripts/script.sh

Sažetak:

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