Skip to main content

Kako urediti datoteko Linux Crontab za razporejanje delovnih mest

Anonim

Demon v Linuxu se imenuje cron v rednih časovnih presledkih sproži procese. Preveri določene mape v vašem sistemu za skripte, ki se izvajajo v nizu map, vključno z /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly in /etc/cron.monthly. Obstaja tudi datoteka, imenovana / etc / crontab.

Postavitev skriptov v mape Cron

Skripte lahko preprosto postavite v ustrezne mape, da jih lahko vodite redno.

Na primer odprite okno terminala in zaženite naslednji ukaz ls:

ls / etc / cron *

Prikazali boste seznam programov ali skriptov, ki se izvajajo na uro, dnevno, tedensko in mesečno.

Težave s temi mapami so, da so malo nejasne. Na primer, dnevno pomeni, da se skript izvaja enkrat na dan, vendar nimate nadzora nad trenutkom, ko se bo skript izvajal v tem dnevu.

Tukaj prihaja datoteka crontab.

Z urejanjem datoteke crontab lahko dobite skript ali program, ki ga želite izvajati na točen datum in čas, ki ga želite zagnati.

Dovoljenja

Ukaz crontab zahteva, da ima uporabnik dovoljenja za urejanje datoteke crontab. V bistvu obstajata dve datoteki, ki se uporabljajo za upravljanje dovoljenj crontab:

  • /etc/cron.allow
  • /etc/cron.deny

Če datoteka /etc/cron.allow obstaja, mora biti uporabnik, ki želi urediti datoteko crontab, v tej datoteki. Če datoteka cron.allow ne obstaja, vendar obstaja datoteka /etc/cron.deny, potem uporabnik v tej datoteki ne sme obstajati. Če obstajata obe datoteki, potem /etc/cron.allow prekliče datoteko /etc/cron.deny. Če ni nobene datoteke, je odvisno od konfiguracije sistema, ali lahko uporabnik ustvari crontab.

Uporabnik root lahko vedno uredi datoteko crontab. Z ukazom su lahko preklopite na root uporabnika ali ukaz sudo za zagon ukaza crontab.

Urejanje datoteke Crontab

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

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

crontab -l

Če nimate datoteke crontab sporočilo "ni crontab za "se bo prikazalo, sicer bo prikazana datoteka crontab (ta funkcija se razlikuje od sistema do sistema, včasih sploh ne prikaže ničesar in drugi časi, ki jih prikaže," ne urejajte te datoteke ").

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

crontab-e

Datoteka, ki se odpre, ima veliko informacij, ključni del pa je primer tik pred koncem razdelka »Komentarji« (komentarje označujejo vrstice, ki se začnejo z #).

# m h dom domov ukaz

0 5 * * 1 tar -zcf /var/backups/home.tgz / home /

Na vsaki vrstici datoteke crontab je na voljo 6 podatkov:

  • Minuta dneva, ko naj bi ukaz zažal (m)
  • Uro dneva, ko je ukaz za vožnjo (h)
  • Dan v mesecu, ko je ukaz, da teče (dom)
  • V mesecu, v katerem se bo ukazal (mon)
  • Dan v tednu je ukaz za zagon (dow)
  • Ukaz

Za vsak element (razen ukaza) lahko določite nadomestni znak. Oglejte si naslednji primer crontab linije:

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

V 30 minutah, 18 urah in vsak dan, mesec in dan v tednu bo ta crontab vnos zip in tar domači imenik v / var / backups mapo.

Če želite narediti ukaz, ki naj se izvede pri 30 minutah vsake ure, zaženite ta ukaz:

30 * * * * ukaz

Če želite ukaz, ki naj se zažene vsako minuto ob 6 uri, zaženite ta ukaz:

* 18 * * * ukaz

Zato morate biti previdni pri nastavljanju ukazov crontab.

Na primer:

* * * 1 * ukaz

Ta ukaz bo potekal vsako minuto vsake ure vsak dan vsakega tedna v januarju.

Če želite 1. januarja narediti ukaz ob 5 uri, bi morali v datoteko crontab narediti naslednji ukaz:

0 5 1 1 * ukaz

Kako odstraniti datoteko Crontab

Večino časa ne želite odstraniti datoteke crontab, vendar boste morda želeli odstraniti nekaj vrstic iz datoteke crontab.

Če pa želite odstraniti datoteko crontab uporabnika, zaženite naslednji ukaz:

crontab -r

Varnejši način za to je zagon naslednjega ukaza:

crontab -i

Operacijski sistem zahteva preverjanje, preden odstrani datoteko crontab.