crontab

Cron Jobs dokonča vadnico za začetnike

Cron Jobs dokonča vadnico za začetnike
Cron je najbolj uporaben pripomoček v operacijskem sistemu, podobnem Linuxu ali UNIX-u, ki omogoča izvajanje ukazov ali skriptov po določenem urniku brez kakršnega koli posredovanja uporabnika. Načrtovani ukazi in skripti so imenovani tudi kot opravila cron. Večinoma se uporablja za avtomatizacijo ponavljajočih se opravil, kot so izvajanje načrtovanih varnostnih kopij, čiščenje začasnih datotek, vzdrževanje sistema in različna druga ponavljajoča se opravila. Podobno je načrtovalniku opravil v operacijskem sistemu Windows.

V tej vadnici vam bomo predstavili osnovno predstavitev vsega, kar morate razumeti za razporejanje dela s cron. To vključuje osnovno sintakso cron, urejanje datoteke crontab, načrtovanje opravila s cron z nekaj primeri, ogled opravila cron itd.

Osnove Cron Joba

Razumejmo nekaj osnov dela cron.

Kaj je Crond?

Crond je demon v sistemu Linux, ki deluje v ozadju in vsako minuto preverja, ali je takrat na voljo kakšno opravilo. Če obstaja, to delo opravi, sicer ostane neaktiven.

Sintaksa Cron Job

Sintaksa za opravilo cron je naslednja:

* * * * * ukaz / skript

Z leve:

Če želite v polju določiti več vrednosti, uporabite naslednje simbole operatorja:

  1. Zvezdica (*): Določiti vse možne vrednosti za polje
  2. Črtica (-): Za sdoločite obseg vrednosti
  3. Vejica (,): Določite seznam vrednosti
  4. Ločilo (/): Če želite določiti vrednost koraka

Urejanje datoteke Crontab

Crontab je datoteka, ki vsebuje razporejena opravila v določeni sintaksi. Obstajata dve vrsti datotek crontab; eno za sistemska opravila cron in drugo za uporabniška opravila cron.

Sistemska opravila cron

Sistemska opravila cron se nahajajo v / etc / crontab datoteko in / etc / cron.d imenik, in jih vodijo skozi / etc / cron.na uro, / etc / cron.vsak dan, / etc / cron.tedensko in / etc / cron.mesečno. Do teh datotek lahko dostopa samo sistemski skrbnik.

Sistemski skrbnik lahko definira opravilo cron z naslednjim ukazom:

$ nano / etc / crontab

Tu je sintaksa opravila v / etc / crontab mapa:

# min hr dayofmonth month dayofweek uporabniško ime
* * * * * uporabnik1 ifconfig

Uporabniška opravila cron

Uporabniška opravila cron se nahajajo v /var / spool / cron / crontabs imenik. Čeprav lahko ta opravila urejate ročno, jih je priporočljivo urejati z ukazom crontab -e.

Standardni uporabnik lahko definira opravilo cron z naslednjim ukazom:

$ crontab -e

Če ste na primer prijavljeni kot "testni" uporabnik, bo zagon datoteke crontab -e uredil datoteko crontab za "testnega" uporabnika. Če ste prijavljeni kot korenski uporabnik, bo ukaz crontab -e uredil datoteko crontab za korenskega uporabnika.

V terminalu izdajte spodnji ukaz za urejanje datoteke crontab za katerega koli drugega uporabnika:

$ sudo crontab -u -e

Če ste na primer prijavljeni kot uporabnik »test1« in želite urediti datoteko crontab za uporabnika »test2«, bi bil ukaz:

$ sudo crontab -u test2 -e

Tu je sintaksa opravila cron, ki ga lahko dodamo v datoteko crontab:

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

Na opravilih, ki jih določa uporabnik, lahko vidite, da ni vloženega »uporabniškega imena«.

Ukazi Crontab

Ukaz crontab se uporablja za urejanje, seznam in odstranjevanje opravil cron:

  • crontab -e Za urejanje datoteke uporabnika crontab
  • crontab -l Za prikaz vsebine datoteke crontab
  • crontab -u [uporabniško ime] Če želite urediti katero koli datoteko crontab drugega uporabnika
  • crontab -r Če želite odstraniti datoteko crontab trenutnega uporabnika
  • crontab -i Če želite prikazati poziv, preden odstranite datoteko crontab trenutnega uporabnika

Načrtovanje zaposlitve s Cronom

S Cronom lahko opravite opravilo ob določenem času, datumu in intervalih z minimalno enoto v minutah, tj.e., lahko vsako minuto izvajate službo.

Če želite načrtovati opravilo s sistemom cron, odprite datoteko crontab z uporabo metode, obravnavane v prejšnjem razdelku. Ko odprete datoteko crontab, boste pozvani, da izberete urejevalnik besedil. Vnesite številko in izberite želeni urejevalnik besedila. Pomaknite se navzdol do dna datoteke in dodajte opravila v zgoraj opisano sintakso. Vsaka vrstica v datoteki določa en ukaz. Prvih pet vnosov v vrstici določa načrtovani čas, zadnji vnos pa določa, kateri ukaz ali skript naj se zažene.

Primer:

Naslednja vrstica v datoteki crontab bo razporedila opravilo cron za zagon ukaza / skripta vsake 30. minute v petih urah vsak dan v tednu od ponedeljka do sobote.

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

Zapisnik

V tem polju določimo minute, ko želimo, da se ukaz izvede. Določena je od 0 do 59. Znak * v tem polju pomeni zagon opravila vsako minuto. V zgornji vrstici crontab znak * / 30 pove opravilu cron, naj vsakih 30 minut zažene navedeni ukaz / skript.

Ure

V tem polju določimo ure, ko želimo, da se ukaz izvrši. Določen je od 0 do 23. * V tem polju pomeni, da opravilo izvajate vsako uro. V zgornji vrstici crontab vrednost 5 pove opravilu cron, da določeni ukaz / skript zažene vsakih pet ur.

Dan v mesecu

V tem polju določimo določene dni v mesecih, ko želimo, da se ukaz izvede. Določena je od 1 do 31. * Na tem polju pomeni vsak dan. V zgornji vrstici crontab * opravilu cron pove, naj vsak dan zažene navedeni ukaz / skript.

Mesec v letu

V tem polju določimo mesece, v katerih želimo, da se ukaz izvede. Določena je od 1 do 12. * V tem polju pomeni vsak mesec. V zgornji vrstici crontab znak * opravilu cron pove, da mora vsak mesec izvajati navedeni ukaz / skript.

Dan v tednu

V tem polju določimo določene dneve v tednu, ko želimo, da se ukaz izvede. Določeno je od 0 do 6 od nedelje do sobote (0 za nedeljo in 6 za soboto). * Na tem polju pomeni vsak dan v tednu. V zgornji vrstici crontab znak * pove opravilu cron, da določeni ukaz / skript zažene vsak dan v tednu.

Primeri Cron Jobs

Tu je nekaj primerov cron opravil:

Vsakih 15 minut zaženite opravilo cron

Če želite razporediti opravilo cron vsakih 15 minut, dodajte spodnjo vrstico v datoteko crontab:

* / 15 * * * * ukaz / skript

Vsak dan zaženite opravilo cron ob 5. uri zjutraj

Če želite razporediti opravilo cron vsak dan ob 5. uri zjutraj, dodajte spodnjo vrstico v datoteko crontab:

0 5 * * * ukaz / skript

Vsak dan zaženite delo cron ob 17.00

Če želite načrtovati, da se opravilo cron izvaja vsak dan ob 17. uri, dodajte spodnjo vrstico v datoteko crontab:

0 17 * * * ukaz / skript

Prvi dan v mesecu zaženite opravilo cron ob 9. uri zjutraj

Če želite razporediti opravilo cron na prvi dan vsakega meseca ob 9. uri, dodajte spodnjo vrstico v datoteko crontab:

0 9 1 * * ukaz / skript

Vsako uro zaženite cron vsako 15. marca

Če želite načrtovati opravilo cron vsako uro 15. marca, dodajte spodnjo vrstico v datoteko crontab:

0 * 15 3 * ukaz / skript

Vsakih 5 ur zaženite opravilo cron

Če želite načrtovati opravilo cron vsakih 5 ur, dodajte spodnjo vrstico v datoteko crontab:

0 * / 5 * * * ukaz / skript

Vsakih 15 minut zaženite opravilo cron

Če želite razporediti opravilo cron vsakih 15 minut, dodajte spodnjo vrstico v datoteko crontab:

* / 15 * * * *

Uporaba nizov

Naslednje nize lahko uporabimo tudi za določanje opravila:

  1. @hourly: Če želite opraviti delo enkrat na uro, tj.e., “0 * * * *
  2. @ polnoč: Če želite opraviti delo enkrat na dan, tj.e., “0 0 * * *
  3. @daily: enako kot polnoč
  4. @teden: Če želite opraviti delo enkrat na teden, tj.e., “0 0 * * 0
  5. @mesečno: Če želite opraviti delo enkrat na mesec, tj.e., “0 0 1 * *
  6. @ letno: Če želite opraviti delo enkrat na leto, tj.e., “0 0 1 1 *
  7. @ leto: enako kot @ letno
  8. @reboot: Za izvedbo opravila enkrat ob vsakem zagonu

Če želite na primer zagnati skript ali ukaz vsak teden, bi bil v datoteki crontab vnos:

ukaz / skript @weekly

Vnaprej določeni imeniki Cron

V Linuxu je nekaj vnaprej določenih imenikov cron, kjer se shranjeni skripti samodejno izvršijo. Če pod te imenike postavimo katerikoli skript, se bo samodejno izvedel ob nastavljenem času.

  • / etc / cron.vsak dan
  • / etc / cron.na uro
  • / etc / cron.mesečno
  • / etc / cron.tedensko

Če želite na primer skript zagnati enkrat na mesec, ga boste morali postaviti v / etc / cron.mesečno.

Oglejte si Cron Jobs

Ogled opravil za trenutnega uporabnika

Za ogled vseh načrtovanih opravil cron za trenutnega uporabnika uporabite naslednji ukaz:

$ crontab -l

Oglejte si opravila za korenske uporabnike

Če si želite ogledati vsa razporejena opravila korenskega uporabnika, v terminalu izdajte naslednji ukaz:

$ cat / etc / crontab

Morali se boste prijaviti kot korenski uporabnik ali zagnati ukaz kot sudo.

Oglejte si opravila za ostale uporabnike

Če si želite ogledati vsa razporejena opravila določenega uporabnika, v terminalu izdajte naslednji ukaz, ki nadomešča z dejanskim uporabniškim imenom:

$ sudo crontab -u -l

Za zagon tega ukaza boste potrebovali privilegije sudo.

Oglejte si urna opravila cron

Če si želite ogledati vsa opravila cron, ki so konfigurirana za vsako uro, v terminalu izdajte naslednji ukaz:

$ ls -la / etc / cron.na uro

Oglejte si dnevna opravila cron

Če si želite ogledati vsa opravila cron, ki so konfigurirana za vsakodnevno izvajanje, v terminalu izdajte naslednji ukaz:

$ ls -la / etc / cron.dnevno /

Oglejte si tedenska opravila cron

Če si želite ogledati vsa opravila cron, ki so konfigurirana za tedensko izvajanje, v terminalu izdajte naslednji ukaz:

$ ls -la / etc / cron.tedensko /

Oglejte si mesečna opravila cron

Če si želite ogledati vsa opravila cron, ki so konfigurirana za mesečno izvajanje, v terminalu izdajte naslednji ukaz:

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

Varnostno kopirajte vsa Cron opravila

Priporočljivo je, da v datoteki shranite varnostno kopijo vseh opravil cron, da jo boste lahko obnovili v primeru izbrisa. Če želite narediti varnostno kopijo vseh trenutnih opravil, uporabite operater preusmeritve za preusmeritev izhoda crontab -l v datoteko.

$ crontab -l> backup_cron.txt

Odstranjevanje vseh načrtovanih opravil Cron

Če želite odstraniti vsa načrtovana opravila cron, uporabite zastavico -r, kot sledi:

$ crontab -r

Cron Dovoljenje

Dostop do ukaza crontab lahko omejimo prek dveh datotek: / itd / cron.dovoli in / etc / cron.zanikati.

  • / etc / cron.dovolite - Dodajte uporabnike (po enega v vrstico), ki jim želite dovoliti dostop do ukazov crontab. Ti uporabniki lahko izvajajo opravila po urniku.
  • / etc / cron.zanikati - Dodajte uporabnike (po enega v vrstico), ki jim želite zavrniti dostop do ukazov crontab. Ti uporabniki ne morejo izvajati načrtovanih opravil.

Generatorji sintakse Crontab

Obstaja nekaj spletnih mest, ki omogočajo ustvarjanje sintakse za crontabs. Ta spletna mesta olajšajo ustvarjanje izraza crontab, ne da bi si morali zapomniti skladnjo. Čeprav obstajajo različna spletna mesta za generatorje sintakse, kot je crontabgenerator.com, crontab-generator.org in cronmaker.com. Tisti, ki mi je najbolj všeč in se mi zdi koristen, je crontab.guru. Na podlagi vnosa uporabnika ustvari izraz crontab, ki ga lahko kopirate in prilepite v datoteko crontab.

Zaključek

V tej vadnici smo razložili osnove cron opravil, njegovo sintakso in kako jo nastaviti. Razpravljali smo tudi o tem, kako si ogledati opravila cron, ustvariti varnostno kopijo in jih odstraniti, če niso več potrebni.

Najboljši emulatorji igralne konzole za Linux
V tem članku bo navedena priljubljena programska oprema za emulacijo igralne konzole, ki je na voljo za Linux. Emulacija je sloj združljivosti program...
Najboljši Linux Distros za igre na srečo v letu 2021
Operacijski sistem Linux je daleč od prvotnega, preprostega, strežniškega videza. Ta OS se je v zadnjih letih izjemno izboljšal in se je zdaj razvil v...
Kako zajeti in pretakati svojo igralno sejo v Linuxu
V preteklosti je bilo igranje iger le hobi, sčasoma pa je igralniška industrija zabeležila veliko rast glede tehnologije in števila igralcev. Občinstv...