krontab

Cron Jobs dovršava tutorial za početnike

Cron Jobs dovršava tutorial za početnike
Cron je najkorisniji uslužni program u operacijskom sustavu sličnom Linuxu ili UNIX-u koji omogućuje pokretanje naredbi ili skripti po zadanom rasporedu bez ikakve intervencije korisnika. Zakazane naredbe i skripte također su imenovane kao cron poslovi. Uglavnom se koristi za automatizaciju ponavljajućih poslova poput izvođenja planiranih sigurnosnih kopija, čišćenja privremenih datoteka, održavanja sustava i raznih drugih ponavljajućih poslova. Sličan je planeru zadataka u OS Windows.

U ovom uputstvu pružit ćemo vam osnovno uvođenje svega što trebate razumjeti za zakazivanje posla s cron-om. To uključuje osnovnu sintaksu cron-a, uređivanje crontab datoteke, planiranje posla s cron-om s nekoliko primjera, prikaz cron-a itd.

Osnove Cron Joba

Razumijemo neke osnove cron posla.

Što je Crond?

Crond je demon u sustavu Linux koji radi u pozadini i svake minute provjerava postoji li u to vrijeme zakazan neki posao. Ako postoji, obavlja taj posao, inače ostaje neaktivan.

Sintaksa Cron Job

Sintaksa za cron posao je sljedeća:

* * * * * naredba / skripta

S lijeve strane:

Da biste odredili više vrijednosti u polju, upotrijebite sljedeće simbole operatora:

  1. Zvjezdica (*): Da biste odredili sve moguće vrijednosti za polje
  2. Crtica (-): Do sodrediti niz vrijednosti
  3. Zarez (,): Da biste odredili popis vrijednosti
  4. Separator (/): Da biste odredili vrijednost koraka

Uređivanje datoteke Crontab

Crontab je datoteka koja sadrži predviđene poslove u određenoj sintaksi. Postoje dvije vrste crontab datoteka; jedan za cron zadatke specifične za sustav, a drugi za cron zadatke specifične za korisnika.

Poslovi cron sustava

Cron poslovi za cijeli sustav smješteni su u / etc / crontab turpija i / etc / cron.d direktorij, i oni se provode / etc / cron.satno, / etc / cron.dnevno, / etc / cron.tjedni i / etc / cron.mjesečno. Samo administrator sustava može pristupiti tim datotekama.

Administrator sustava može definirati cron posao pomoću sljedeće naredbe:

$ nano / etc / crontab

Evo sintakse posla u / etc / crontab datoteka:

# min hr dayofmonth month dayofweek naredba korisničkog imena
* * * * * korisnik1 ifconfig

Korisnički specifični cron poslovi

Korisnički specifični cron poslovi nalaze se u /var / spool / cron / crontabs imenik. Iako ove zadatke možete uređivati ​​ručno, preporučuje se uređivanje tih poslova pomoću naredbe crontab -e.

Standardni korisnik može definirati cron posao pomoću sljedeće naredbe:

$ crontab -e

Na primjer, ako ste prijavljeni kao "test" korisnik, izvođenjem naredbe crontab -e uredit će datoteku crontab za "test" korisnika. Slično tome, ako ste prijavljeni kao root korisnik, naredba crontab -e uredit će datoteku crontab za root korisnika.

U Terminalu izdajte naredbu za uređivanje datoteke crontab za bilo kojeg drugog korisnika:

$ sudo crontab -u -e

Na primjer, ako ste prijavljeni kao korisnik „test1“ i želite urediti datoteku crontab za korisnika „test2“, naredba bi bila:

$ sudo crontab -u test2 -e

Evo sintakse cron posla koja se može dodati u datoteku crontab:

# m h dayofmonth month dayofweek naredba
* * * * * ifconfig

Na poslovima specifičnim za korisnika možete vidjeti da nije prijavljeno "korisničko ime".

Crontab naredbe

Naredba crontab koristi se za uređivanje, popis i uklanjanje cron poslova:

  • crontab -e Za uređivanje datoteke korisnika crontab
  • crontab -l Za prikaz sadržaja datoteke crontab
  • crontab -u [korisničko ime] Za uređivanje crontab datoteke bilo kojeg drugog korisnika
  • crontab -r Da biste uklonili datoteku crontab trenutnog korisnika
  • crontab -i Za prikaz upita prije uklanjanja datoteke crontab trenutnog korisnika

Zakazivanje posla s Cronom

S Cronom možete pokrenuti posao u određeno vrijeme, datum i interval s minimalnom jedinicom u minutama, tj.e., možete voditi posao svake minute.

Da biste zakazali posao s cron-om, otvorite datoteku crontab metodom razmotrenom u prethodnom odjeljku. Jednom kada otvorite datoteku crontab, od vas će se zatražiti da odaberete uređivač teksta. Upišite broj za odabir željenog uređivača teksta. Pomaknite se prema dnu datoteke i dodajte poslove u gore opisanu sintaksu. Svaki redak u datoteci navodi jednu naredbu. Prvih pet unosa u retku određuju zakazano vrijeme, a zadnji unos koju naredbu ili skriptu treba pokrenuti.

Primjer:

Sljedeći redak u datoteci crontab rasporedit će zadatak crona za pokretanje naredbe / skripte svake 30. minute u pet sati svakog dana u tjednu od ponedjeljka do subote.

* / 30 5 * * 1-6 naredba / skripta

Zapisnik

U ovom polju specificiramo minute kada želimo da se izvrši naredba. Navedeno je od 0 do 59. Znak * u ovom polju znači pokretati posao svake minute. U gornjem crontab retku, * / 30 govori cron poslu da izvodi navedenu naredbu / skriptu svakih 30 minuta.

Sati

U ovom polju određujemo sate kada želimo izvršiti naredbu. Navedeno je od 0 do 23. Znak * u ovom polju znači pokretanje posla svakih sat vremena. U gornjem crontab retku, vrijednost 5 govori cron poslu da izvodi navedenu naredbu / skriptu svakih pet sati.

Dan u mjesecu

U ovom polju određujemo određene dane u mjesecima kada želimo izvršenje naredbe. Navedeno je od 1 do 31. * U ovom polju znači svaki dan. U gornjem crontab retku, * govori cron poslu da izvršava navedenu naredbu / skriptu svaki dan.

Mjesec u godini

U ovom polju navodimo određene mjesece kada želimo da se naredba izvrši. Navedeno je od 1 do 12. Znak * u ovom polju znači svaki mjesec. U gornjem crontab retku, * govori cron poslu da pokreće navedenu naredbu / skriptu svakog mjeseca.

Dan u tjednu

U ovom polju određujemo određene dane u tjednu kada želimo izvršenje naredbe. Navedeno je od 0 do 6 od nedjelje do subote (0 za nedjelju i 6 za subotu). * U ovom polju znači svaki dan u tjednu. U gornjem crontab retku, * govori cron poslu da izvrši navedenu naredbu / skriptu svaki dan u tjednu.

Primjeri Cron Jobs-a

Evo nekoliko primjera cron poslova:

Pokrenite cron posao svakih 15 minuta

Da biste zakazali pokretanje cron posla svakih 15 minuta, dodajte donji redak u datoteku crontab:

* / 15 * * * * naredba / skripta

Pokrenite cron posao svaki dan u 5 sati ujutro

Da biste zakazali pokretanje posla cron svakog dana u 5 sati ujutro, dodajte donji redak u datoteku crontab:

0 5 * * * naredba / skripta

Pokrenite cron posao svaki dan u 17 sati

Da biste zakazali pokretanje posla cron svakog dana u 17 sati, dodajte donji redak u datoteku crontab:

0 17 * * * naredba / skripta

Pokrenite cron posao prvog dana svakog mjeseca u 9 sati ujutro

Da biste zakazali pokretanje cron posla prvog dana svakog mjeseca u 9 sati, dodajte donji redak u datoteku crontab:

0 9 1 * * naredba / skripta

Pokrenite cron posao svakog sata svakog 15. ožujka

Da biste zakazali posao cron svakog sata svakog 15. ožujka, dodajte sljedeći redak u datoteku crontab:

0 * 15 3 * naredba / skripta

Pokrenite cron posao svakih 5 sati

Da biste zakazali cron posao svakih 5 sati, dodajte sljedeći redak u crontab datoteku:

0 * / 5 * * * naredba / skripta

Pokrenite cron posao svakih 15 minuta

Da biste zakazali pokretanje cron posla svakih 15 minuta, dodajte donji redak u datoteku crontab:

* / 15 * * * *

Korištenje žica

Sljedeći se nizovi također mogu koristiti za definiranje posla:

  1. @ satno: Za izvršavanje posla jednom na sat, tj.e., “0 * * * *
  2. @ponoć: Za izvršavanje posla jednom dnevno, tj.e., “0 0 * * *
  3. @dnevno: isto kao i ponoć
  4. @tjedni: Za izvršavanje posla jednom tjedno, tj.e., “0 0 * * 0
  5. @mjesečno: Za izvršavanje posla jednom mjesečno, tj.e., “0 0 1 * *
  6. @ godišnje: Za izvršavanje posla jednom godišnje, tj.e., “0 0 1 1 *
  7. @godišnje: isto kao i @ godišnje
  8. @ponovno podizanje sustava: Izvršiti posao jednom prilikom svakog pokretanja

Na primjer, za pokretanje skripte ili naredbe svaki tjedan unos u datoteku crontab bio bi:

naredba / skripta @weekly

Unaprijed definirani Cron direktoriji

U Linuxu postoje neki unaprijed definirani cron direktoriji u kojima se pohranjene skripte automatski izvršavaju. Ako bilo koju skriptu postavimo ispod ovih direktorija, ona će se automatski izvršiti u konfigurirano vrijeme.

  • / etc / cron.dnevno
  • / etc / cron.satno
  • / etc / cron.mjesečno
  • / etc / cron.tjedni

Na primjer, da biste izvršili skriptu jednom mjesečno, morat ćete je smjestiti u / etc / cron.mjesečno.

Pogledajte Cron Jobs

Pregledajte poslove za trenutnog korisnika

Upotrijebite sljedeću naredbu za prikaz svih planiranih cron poslova za trenutnog korisnika:

$ crontab -l

Pregledajte poslove za korijenske korisnike

Da biste pregledali sve zakazane poslove korijenskog korisnika, izdajte sljedeću naredbu u terminalu:

$ mačka / etc / crontab

Morat ćete se prijaviti kao root korisnik ili pokrenuti naredbu kao sudo.

Pregledajte poslove za ostale korisnike

Da biste pregledali sve zakazane poslove određenog korisnika, u terminalu izdajte sljedeću naredbu zamjenjujući sa stvarnim korisničkim imenom:

$ sudo crontab -u -l

Da biste pokrenuli ovu naredbu, trebat će vam sudo privilegije.

Pogledajte cron poslove po satu

Da biste pregledali sve zadaće cron koji su konfigurirani za pokretanje svakog sata, u terminalu izdajte sljedeću naredbu:

$ ls -la / etc / cron.satno

Pogledajte dnevne cron poslove

Da biste pregledali sve zadaće cron koji su konfigurirani za svakodnevno pokretanje, u terminalu izdajte sljedeću naredbu:

$ ls -la / etc / cron.dnevno/

Pogledajte tjedne cron poslove

Da biste pregledali sve cron zadatke koji su konfigurirani za trčanje tjedno, u terminalu izdajte sljedeću naredbu:

$ ls -la / etc / cron.tjedni/

Pogledajte mjesečne cron poslove

Da biste pregledali sve zadaće cron koji su konfigurirani za pokretanje mjesečno, u terminalu izdajte sljedeću naredbu:

$ ls -la / etc / cron.mjesečno/

Izradi sigurnosnu kopiju svih Cron poslova

Preporučuje se čuvanje sigurnosne kopije svih cron poslova u datoteci kako biste se mogli oporaviti u slučaju brisanja. Da biste napravili sigurnosnu kopiju svih trenutnih poslova, upotrijebite operater preusmjeravanja za preusmjeravanje izlaza crontab -l u datoteku.

$ crontab -l> backup_cron.txt

Uklanjanje svih planiranih Cron poslova

Da biste uklonili sve zakazane cron poslove, upotrijebite zastavicu -r kako slijedi:

$ crontab -r

Dopuštenje za Cron

Pristup naredbi crontab možemo ograničiti kroz dvije datoteke: / itd. / cron.dopusti i / etc / cron.poricati.

  • / etc / cron.dopustiti - Dodajte korisnike (po jednog u redak) kojima želite dopustiti pristup naredbama crontab. Ti korisnici mogu izvoditi poslove rasporeda.
  • / etc / cron.poricati - Dodajte korisnike (po jednog u redak) kojima želite zabraniti pristup naredbama crontab. Ti korisnici ne mogu izvoditi planirane poslove.

Generatori sintakse Crontab

Postoje neke web stranice koje omogućuju generiranje sintakse za crontabs. Te web stranice olakšavaju generiranje izraza crontab bez potrebe za pamćenjem sintakse. Iako postoje različita web mjesta dostupna za generatore sintakse kao što je crontabgenerator.com, crontab-generator.org i cronmaker.com. Onaj koji mi je uglavnom draži i koji mi je od pomoći bio je crontab.guru. Na temelju korisničkog unosa generira izraz crontab koji možete kopirati i zalijepiti u datoteku crontab.

Zaključak

U ovom smo uputstvu objasnili osnove cron poslova, njegovu sintaksu i kako ga postaviti. Također smo razgovarali o tome kako pregledati cron poslove, stvoriti sigurnosnu kopiju i ukloniti ih ako više nisu potrebni.

Lijevi gumb miša ne radi u sustavu Windows 10
Ako s prijenosnim računalom ili stolnim računalom koristite namjenski miš, ali lijevi gumb miša ne radi u sustavu Windows 10/8/7 iz nekog razloga evo ...
Pokazivač skače ili se slučajno pomiče dok tipkate u sustavu Windows 10
Ako ustanovite da kursor miša sam skače ili se pomiče automatski, nasumično dok tipkate u Windows prijenosnom računalu ili računalu, neki od ovih prij...
Kako obrnuti smjer pomicanja miša i dodirnih pločica u sustavu Windows 10
Miš i Dodirna pločaRačunarstvo ne samo da olakšava, već i učinkovitije i oduzima puno vremena. Ne možemo zamisliti život bez ovih uređaja, ali činjeni...