CRON(8)

NUME
crond - demon pentru a executa comenzi programate

SINOPSIS
crond [-c | -h | -i | -n | -p | -P | -s | -m<mailcomanda>]
crond -x [ext,sch,proc,pars,load,misc,test,bit]
crond -V

DESCRIERE
cron este pornit de la /etc/rc.d/init.d sau /etc/init.d atunci când sunt utilizate scripturi sysvinit clasice. În cazul în care systemd este activat, atunci fișierul unitate este instalat în /lib/systemd/system/crond.service, iar demonul este pornit prin comanda systemctl start crond.service. Acesta returnează imediat, prin urmare, nu este necesar să fie nevoie să fie pornit cu parametrul „&”.

cron caută în /var/spool/cron fișierele „crontab” care sunt numite după conturile din /etc/passwd; crontab-urile găsite sunt încărcate în memorie. cron caută, de asemenea, /etc/anacrontab și orice fișiere din directorul /etc/cron.d, care au un format diferit (a se vedea crontab(5)). cron examinează toate crontab-urile stocate și verifică fiecare sarcină de lucru pentru a vedea dacă trebuie să fie executată în minutul curent. La executarea comenzilor, orice ieșire este trimisă prin poștă proprietarului crontab-ului (sau utilizatorului specificat în variabila de mediu MAILTO din crontab, dacă aceasta există). Orice ieșire a unei sarcini poate fi, de asemenea, trimisă la «syslog» prin utilizarea opțiunii -s.

Există două moduri de verificare a modificărilor în tabelele cron (crontab). Prima metodă constă în verificarea timpului de modificare al unui fișier. A doua metodă este utilizarea suportului «inotify». Utilizarea lui «inotify» este înregistrată în jurnalul /var/log/cron după pornirea demonului. Suportul «inotify» verifică modificările în toate crontab-urile și accesează discul dur numai atunci când este detectată o modificare.

Atunci când se utilizează opțiunea „modtime”, cron verifică la fiecare minut timpii de modificare ale fișierelor sale „crontab” pentru a verifica dacă au fost efectuate modificări și reîncarcă fișierele „crontab” care s-au modificat. Nu este nevoie să reporniți cron după ce unele dintre fișierele „crontab” au fost modificate. Opțiunea „modtime” este, de asemenea, utilizată atunci când «inotify» nu poate fi inițializat.

cron verifică aceste fișiere și directoare:

/etc/crontab
    fișierul „crontab” de sistem. În prezent, fișierul este gol în mod implicit. Inițial, acesta era folosit de obicei pentru a rula sarcini zilnice, săptămânale, lunare. În mod implicit, aceste sarcini sunt acum rulate prin intermediul «anacron», care citește fișierul de configurare /etc/anacrontab. Consultați anacrontab(5) pentru mai multe detalii.

/etc/cron.d/
    directorul care conține sarcini-cron de sistem stocate pentru diferiți utilizatori.

/var/spool/cron
    directorul care conține fișierele crontab ale utilizatorului create de comanda crontab.

Rețineți că comanda crontab(1) actualizează timpul de modificare al directorului spool ori de câte ori modifică un fișier crontab.

  Ora de vară și alte modificări ale orei
Modificările locale ale orei mai mici de trei ore, cum ar fi cele cauzate de schimbarea orei de vară, sunt tratate într-un mod special. Acest lucru se aplică numai la sarcinile care se execută la o anumită oră și la sarcinile care se execută cu o granularitate (finețe orară) mai mare de o oră. Lucrările care se execută mai frecvent sunt programate în mod normal.

Dacă timpul a fost ajustat cu o oră înainte, acele sarcini care ar fi trebuit să se execute în intervalul care a fost sărit vor fi executate imediat. În schimb, dacă timpul a fost ajustat înapoi, se evită rularea de două ori a aceleiași sarcini.

Modificările de mai mult de 3 ore ale ceasului sunt considerate corecții ale ceasului sau ale fusului orar, iar noua oră este utilizată imediat.

Este posibil să se utilizeze zone orare diferite pentru fișierele crontab. Pentru mai multe informații, consultați crontab(5).

  Controlul accesului cu PAM
cron este compatibil cu controlul accesului cu PAM dacă sistemul are instalat PAM. Pentru mai multe informații, consultați pam(8). Un fișier de configurare PAM pentru crond este instalat în /etc/pam.d/crond. Demonul încarcă mediul PAM din modulul pam_env. Acest lucru poate fi anulat prin definirea unor parametri specifici în fișierul crontab corespunzător.

OPȚIUNI

-h  Afișează un mesaj de ajutor și iese.

-i  Dezactivează suportul pentru «inotify».

-m  Această opțiune vă permite să specificați o comandă de shell care să fie utilizată pentru a trimite ieșirea de poștă electronică cron în loc să utilizați sendmail(8). Această comandă trebuie să accepte un mesaj de poștă electronică complet formatat (cu antetele) la intrarea standard și să îl trimită ca mesaj de poștă electronică către destinatarii specificați în antetele de poștă electronică. Specificarea șirului de caractere off (de exemplu, «crond -m off») va dezactiva trimiterea de mesaje poștale.

-n  Îi indică demonului să ruleze în prim-plan. Acest lucru poate fi util atunci când este pornit din init. Cu această opțiune este necesară modificarea configurării pam. /etc/pam.d/crond nu trebuie să activeze modulul pam_loginuid.so.

-f  la fel ca „-n”, în concordanță cu alte implementări crond.

-p  Permite lui cron să accepte orice fișiere crontab definite de utilizator.

-P  Nu definește PATH. În schimb, PATH este moștenită din (variabila de) mediu.

-c  Această opțiune activează suportul pentru gruparea în cluster, așa cum este descris mai jos.

-s  Această opțiune va direcționa cron să trimită rezultatul sarcinii în jurnalul sistemului folosind syslog(3). Această opțiune este utilă în cazul în care sistemul dumneavoastră nu are instalat sendmail(8) sau dacă poșta este dezactivată.

-x  Această opțiune vă permite să definiți fanioanele de depanare.

-V  Afișează informațiile despre versiune și iese.

SEMNALE
Când se primește SIGHUP, demonul cron va închide și redeschide fișierul jurnal. Acest lucru se dovedește a fi util în scripturile care rotesc și îmbătrânesc fișierele jurnal. Bineînțeles, acest lucru nu este relevant dacă cron a fost construit pentru a utiliza syslog(3).

SUPORT PENTRU GRUPAREA ÎN CLUSTERE
În această versiune de cron este posibil să se utilizeze un director partajat /var/spool/cron montat în rețea pe un grup de gazde și să se specifice că numai una dintre gazde trebuie să ruleze sarcinile crontab din acest director la un moment dat. Acest lucru se face prin pornirea cron cu opțiunea -c și să se facă în așa fel încât fișierul /var/spool/cron/.cron.hostname să conțină doar o singură linie, care reprezintă numele de gazdă al oricărei gazde din cluster care ar trebui să ruleze sarcinile. Dacă acest fișier nu există sau dacă numele de gazdă din el nu se potrivește cu cel returnat de gethostname(2), atunci toate fișierele crontab din acest director sunt ignorate. Acest lucru nu are niciun efect asupra sarcinilor cron specificate în fișierul /etc/crontab sau asupra fișierelor din directorul /etc/cron.d. Aceste fișiere sunt întotdeauna rulate și sunt considerate specifice gazdei.

În loc să editați direct /var/spool/cron/.cron.hostname, utilizați opțiunea -n din crontab(1) pentru a specifica gazda.

Ar trebui să vă asigurați că toate gazdele dintr-un cluster și serverul de fișiere de pe care montează directorul crontab partajat au ceasuri strâns sincronizate, de exemplu, folosind ntpd(8), altfel rezultatele vor fi foarte imprevizibile.

Utilizarea partajării clusterului dezactivează automat suportul pentru «inotify», deoarece «inotify» nu poate fi utilizat cu sisteme de fișiere partajate montate în rețea.

AVERTISMENTE
Toate fișierele crontab trebuie să fie fișiere obișnuite sau legături simbolice către fișiere obișnuite, nu trebuie să fie executabile sau cu permisiuni de scriere pentru nimeni altcineva în afară de proprietar. Această cerință poate fi anulată prin utilizarea opțiunii -p din linia de comandă a «crond». Dacă se utilizează suportul «inotify», modificările în fișierele crontab cu legături simbolice nu sunt observate automat de către demonul «cron». Demonul «cron» trebuie să primească un semnal SIGHUP pentru a reîncărca fișierele crontab. Aceasta este o limitare a API-ului «inotify».

Ieșirea «syslog» va fi utilizată în loc de mail, atunci când «sendmail» nu este instalat.

CONSULTAȚI ȘI
crontab(1), crontab(5), inotify(7), pam(8)

AUTOR
Paul Vixie (vixie@isc.org)
Marcela Mašláňová (mmaslano@redhat.com)
Colin Dean (colin@colin-dean.org)
Tomáš Mráz (tmraz@fedoraproject.org)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.