Kako urediti datoteko Crontab Linux za načrtovanje opravil

Kaj je treba vedeti

  • Prikažite vsebino crontab z: crontab -l
  • Uredite crontab z: crontab -e
  • Čas deluje z: minuta, uro, dan v mesecu, mesec, dan v tednu. Uporabite zvezdico (*) za zagon crona vsak dan, uro itd.

Ta članek pojasnjuje, kako uporabljati cron, ki je demon v Linuxu, ki izvaja procese v rednih intervalih. Preveri določene mape v sistemu, ali se skripti izvajajo v nizu map, vključno z /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly in /etc/cron.monthly; obstaja tudi datoteka z imenom /etc/crontab.

Postavite skripte v mape Cron

Postavite skripte v ustrezne mape, da se bodo začeli izvajati v rednih intervalih. Na primer, odprite okno terminala in zaženite naslednje ls ukaz:

ls /etc/cron*

Ukaz navaja programe ali skripte, ki se izvajajo vsako uro, dnevno, tedensko in mesečno.

Seznam cron za Linux

Te mape so nejasne. na primer dnevno pomeni, da se skript izvaja enkrat na dan, vendar nimate nadzora nad časom, ko se skript izvaja v tem dnevu.

Tu pride datoteka crontab. Z urejanjem datoteke crontab zaženete skript ali program ob točnem datumu in času, ko želite, da se zažene.

Dovoljenja

Ukaz crontab zahteva, da ima uporabnik dovoljenje za urejanje datoteke crontab. Obstajata dve datoteki, ki upravljata dovoljenja crontab: /etc/cron.allow in /etc/cron.deny.

  • Če datoteka /etc/cron.allow obstaja, mora biti uporabnik, ki želi urediti datoteko crontab, naveden v tej datoteki.
  • Če datoteka cron.allow ne obstaja, obstaja pa datoteka /etc/cron.deny, uporabnik v tej datoteki ne sme obstajati.
  • Če obstajata obe datoteki, datoteka /etc/cron.allow preglasi datoteko /etc/cron.deny.
  • Če nobena datoteka ne obstaja, je odvisno od konfiguracije sistema, ali lahko uporabnik ureja crontab.

Uporabnik root lahko vedno uredi datoteko crontab. Lahko uporabite ukaz su za preklop na root uporabnika oz ukaz sudo za zagon ukaza crontab.

Uredite datoteko Crontab

Vsak uporabnik, ki ima ustrezna dovoljenja, lahko ustvari datoteko crontab. Ukaz cron išče vse datoteke crontab in teče skozi vsako datoteko.

Če želite preveriti, ali imate datoteko crontab, zaženite naslednji ukaz:

crontab -l. 

Če nimate datoteke crontab, sporočilo ni crontab za se prikaže, sicer se prikaže vaša datoteka crontab.

Ta funkcionalnost se razlikuje od sistema do sistema. Včasih ne prikaže ničesar, drugič pa se prikaže ne urejaj te datoteke.

Seznam crontab za Linux

Če želite ustvariti ali urediti datoteko crontab, zaženite naslednji ukaz:

crontab -e. 

Datoteka, ki se odpre, ima veliko informacij, a ključni del je primer pred koncem razdelka s komentarji (komentarji so označeni z vrsticami, ki se začnejo s #).

# m h dom mon dow ukaz. 
0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
Linux uredi crontab

V vsako vrstico datoteke crontab je šest informacij:

  • Minuta dneva, ko se ukaz izvede (m).
  • Ura v dnevu, ko se ukaz zažene (h).
  • Dan v mesecu, ko je ukaz zagnati (dom).
  • Mesec, v katerem se ukaz zažene (pon).
  • Dan v tednu, ko se ukaz zažene (dol).
  • Ukaz.

Za vsak element (razen za ukaz) lahko podate nadomestni znak. Poglejte naslednji primer vrstice crontab:

30 18 * * * tar -zcf /var/backups/home.tgz /home/

Ob 30 minutah, 18 urah in kateri koli dan, mesec in dan v tednu bo ta vnos crontab zadrga in katran domači imenik v mapo /var/backups.

V spodnjih primerih zamenjajte besedni ukaz z ukazom, ki ga želite zagnati.

Če želite, da se ukaz zažene vsake 30 minut pred vsako uro, zaženite naslednji ukaz:

30 * * * * ukaz. 

Če želite, da se ukaz zažene vsako minuto čez 18.00, zaženite naslednji ukaz:

* 18 * * * ukaz. 

Zato morate biti previdni pri nastavljanju ukazov crontab.

Na primer:

* * * 1 * ukaz. 

Ta ukaz se izvaja vsako minuto vsako uro vsak dan v vsakem tednu v januarju.

Če želite zagnati ukaz ob 5. uri zjutraj 1. januarja, v datoteko crontab vnesite naslednji ukaz:

0 5 1 1 * ukaz. 

Kako odstraniti datoteko Crontab

Večino časa ne boste želeli odstraniti datoteke crontab. Vendar pa boste morda želeli odstraniti nekaj vrstic iz datoteke crontab.

Če želite odstraniti uporabniško datoteko crontab, zaženite naslednji ukaz:

crontab -r. 

Varnejši način za to je, da zaženete naslednji ukaz:

crontab -i. 

Operacijski sistem zahteva preverjanje, preden odstrani datoteko crontab.