Kuidas muuta Linux Crontab faili ajakavale

Sissejuhatus

Linuxis on deemon, mida nimetatakse croniks ja mida kasutatakse protsesside käivitamiseks korrapäraste ajavahemike järel.

Selle eesmärk on kontrollida teatud süsteemis olevaid kaustu skriptide käitamiseks. Näiteks on kataloog /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly ja /etc/cron.monthly. Samuti on fail nimega / etc / crontab.

Vaikimisi võite lihtsalt asetada skriptid vastavatesse kaustadesse, et need saaksid regulaarselt töötada.

Näiteks avage terminali aken (vajutades CTRL, ALT ja T) ja käivitage järgmine ls käsk :

ls / etc / cron *

Näete programmide või skriptide loendit, mida kasutatakse tunnis, igapäevaselt, iganädalaselt ja igakuiselt.

Probleem nende kaustadega on see, et need on natuke ebamäärased. Näiteks iga päev tähendab seda, et skript käivitub kord päevas, kuid teil pole selle aja jooksul skripti käitamise ajal kontrolli.

See on koht, kus asub crontab fail.

Crontab-faili redigeerimisel saad skripti või programmi käivitada täpse kuupäeva ja kellaajaga, mida soovite seda käivitada. Näiteks võite soovida varundada oma faile igal õhtul kell 18.00.

Õigused

Käsk crontab nõuab, et kasutajal oleksid õigused crontab-faili muutmiseks. Põhimõtteliselt on kaks crontabi haldamiseks kasutatavat faili:

Kui fail /etc/cron.allow eksisteerib, peab kasutaja, kes soovib redigeerida crontab-faili, olema selles failis. Kui cron.allow faili ei eksisteeri, kuid faili /etc/cron.deny on olemas, siis ei tohi kasutaja seda faili eksisteerida.

Kui mõlemad failid on olemas, siis ignoreerib /etc/cron.allow /etc/cron.deny faili.

Kui ühtegi faili pole, siis sõltub see süsteemi konfiguratsioonist, kas kasutaja saab muuta crontabit.

Juurkasutaja saab alati muuta crontab-faili. Käsu crontab käivitamiseks võite kasutada su käsku, et lülituda juurkasutajale või käsk sudo .

Crontabi faili redigeerimine

Iga kasutaja, kellel on load, saab luua oma crontab-faili. Käsu cron otsib põhiliselt mitmeid crontabi faile ja läbib neid kõiki.

Et kontrollida, kas teil on crontabi fail, käivitage järgmine käsk:

crontab -l

Kui sul pole crontab-faili, ilmub ekraanile teade "ei crontab ", vastasel korral kuvatakse teie crontab-fail (see funktsioon erineb süsteemist süsteemini, mõnikord ei kuvata üldse midagi ja muudel aegadel see kuvatakse) " ärge muutke seda faili ").

Crontabi faili loomiseks või muutmiseks käivitage järgmine käsk:

crontab-e

Vaikimisi, kui vaikimisi valitavat toimet ei ole valitud, palutakse teil valida vaikemoodustaja. Personaalselt meeldib mulle nano kasutada, kuna see on üsna otse kasutamiseks ja see töötab terminalist.

Avanenud failil on palju teavet, kuid põhiosa on näide vahetult enne märkuste sektsiooni lõppu (kommentaarid on tähistatud joontega, mis algavad # -ga).

# mh dom mon dow käsk

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

Crontabi faili igas reas sobib 6 infot:

Iga üksuse jaoks (välja arvatud käsklus) saate määrata metamärgi. Vaadake järgmist näidet crontabi rida:

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

Mida ülalnimetatud käsk ütleb, on 30 minutit, 18 tundi ning mis tahes päeva, kuu ja nädalapäeva käsk käsku varundada / var / varukoopia kausta kataloogi varukoopiaid ja tõrkeotsingut.

Käsu saamiseks, mis käivitatakse iga tunni tagant 30 minuti pärast, on võimalik käivitada järgmine käsk:

30 * * * * käsk

Käsu käivitamiseks, mis käivitatakse iga minuti järel kell 18, on võimalik käivitada järgmine käsk:

* 18 * * * käsk

Seetõttu peate olema ettevaatlik oma crontabi käskude seadistamise suhtes.

Näiteks:

* * * 1 * käsk

Eelnimetatud käsk toimuks jaanuaris iga nädala iga tunni iga minuti järel. Ma kahtlen selles, mida sa tahad.

1. jaanuari kell 5 kell käskluse käivitamiseks peaksite crontab-faili järgmisel käsul:

0 5 1 1 * käsk

Kuidas eemaldada Crontabi fail

Suurem osa ajast, mil te ei soovi crontab-faili eemaldada, võite eemaldada mõned rida crontab-failist.

Kui aga soovite oma kasutaja crontab faili eemaldada, käivitage järgmine käsk:

crontab -r

Selle turvalisem viis on käivitada järgmine käsk:

crontab -i

See küsib küsimust "kas olete kindel?" enne crontab faili eemaldamist.