Demonul cron (pronunțat "coroane") este un proces de fundal care permite executarea fișierelor la ora programată. Dacă este necesar să rulați un script sau un program la o anumită periodicitate, atunci aceasta este o sarcină pentru cron. Astăzi, vom examina modul de configurare manuală a daemonului cron, precum și utilizarea comenzii crontab.
Daemonul cron poate executa sarcina nu numai pentru sistem ca întreg, ci și pentru utilizatorul individual. Fișierele care descriu ce și când vor fi difuzate pentru un utilizator individual sunt în directorul / var / spool / cron / crontabs /. Accesul la acest director este numai de la utilizatorul rădăcină.
În directorul / var / spool / cron / crontabs / pentru fiecare utilizator este creat un fișier text prin numele de utilizator (login) în care sunt stocate setările. De exemplu, dacă există un test de utilizator pe sistem și el a creat cron pentru el însuși. va fi creat un fișier cu setările - / var / spool / cron / crontabs / test. Testul utilizatorului nu are acces direct la acest fișier. Vom vorbi despre modul în care acest fișier este creat și editat ulterior (folosind comanda crontab).
Pentru a verifica dacă procesul cron se execută, lansați comanda:
$ ps ax grep # 91; c # 93; ron
1026. Ss 0: 00 cron
Dacă daemonul nu se execută, îl puteți executa ca orice alt daemon cu comanda start /etc/init.d/cron. executate în numele administratorului.
Daemonul cron funcționează într-un mod per minut. Adică, puteți seta timpul de execuție a unei sarcini într-un minut. Fișierul de configurare principal al daemonului cron este / etc / crontab. Partea principală a fișierului este un tabel cu 7 coloane, fiecare rând care descrie o lucrare. Fișiere care descriu sarcinile pentru daemonul cron. numite adesea fișiere crontab.
Exemplu de fișier / etc / crontab:
# m h dom mon dow comandă utilizator
17 * * * * rădăcină cd / run-parts - raport / etc / cron.hourly
25 6 * * * test root -x / usr / sbin / anacron || # 40; cd / run-parts - raport / etc / cron.daily # 41;
47 6 * 7 test radacina -x / usr / sbin / anacron || # 40; cd / run-parts - raport / etc / cron.weekly # 41;
52 6 1 * * test rădăcină -x / usr / sbin / anacron || # 40; cd / run-parts - raport / etc / cron.monthly # 41;
Fiecare linie are valorile a 7 câmpuri:
m - minute - minut - la ce minut să îndeplinească sarcina; intervalul de valori este (0-59)
h - oră - oră - în ce oră pentru efectuarea sarcinii; interval de valori (0-23)
dom - ziua lunii - ziua lunii - în care zile ale lunii pentru a îndeplini sarcina; interval de valori (1-31)
lunar - lună - în care luni ale anului pentru îndeplinirea sarcinii; interval de valori (1-12)
dow - zi din săptămână - ziua săptămânii - care zile ale săptămânii pentru a îndeplini sarcina; intervalul de valori (0-7, 0 și 7 este duminică, următorul în ordine)
numele utilizatorului - utilizatorul în numele căruia va fi executat sarcina
comanda - o comandă executabilă - o comandă care va fi lansată la ora specificată.
În primele cinci câmpuri, puteți specifica nu numai numărul din interval, ci și domeniul de numere, enumerarea numerelor, intervalul în incremente. Simbol * înseamnă orice valoare. Citiți mai multe despre valorile din man 5 crontab. Vom lua în considerare mai multe exemple.
Fiți atent cu câmpurile 3 și 5 - ziua lunii și ziua săptămânii. Dacă există numere în ambele câmpuri, de exemplu, * 6 5 * 1 root myscript. apoi înregistrarea înseamnă să executați sarcina la ora șase pe data de 5 a fiecărei luni sau în fiecare zi de luni, dar nu în fiecare lună a 5-a.
fișierele crontab pot fi găsite și în directorul /etc/cron.d/. care este văzut de către daemonul cron în procesul de lucru. Ele pot avea nume arbitrare, dar structura ar trebui să fie aceeași ca și fișierul / etc / crontab. În mod obișnuit, acest director stochează sarcinile diferitelor servicii și programe (fișierele sunt apoi denumite după numele serviciilor sau programelor).
29 12 * * * atingeți testfile
În primul câmp secundar, specificați ora curentă pentru dvs. (cu câteva minute mai lungă decât cea curentă) și salvați fișierul. Apoi, verificați după ora indicată, directorul rădăcină al testului utilizatorului și verificați dacă fișierul a fost creat: