În UNIX, cron este un job scheduler care permite executarea unor acțiuni la un moment dat în timp. Acțiunile sunt definite în general prin scripturi, și sunt rulate de cron la intervale regulate. Este folosit în principal pentru a administrarea sistemului, însă poate fi folosit și pentru activități generale precum conectarea la Internet sau descărcarea emailurilor.Newbie Introduction to cron

Configurare Fișierul principal de configurare cron este /etc/crontab. Acesta conține comenzile shell care sunt rulate periodic. Fiecare linie din fișierul crontab este o expresie cron urmată de comanda shell care trebuie executată.

Formatul liniei crontab este următorul: .---------------- minut (0 - 59) | .------------- oră (0 - 23) | | .---------- ziua lunii (1 - 31) | | | .------- luna (1 - 12) sau jan,feb,mar,apr ... | | | | .----- ziua săptămânii (0 - 6) (Sunday=0) sau sun,mon,tue,wed,thu,fri,sat

* * * * * comanda care trebuie executată

Stabilirea permisiunilor de acces la sistemul cron se face prin intermediul fișierelor /etc/cron.allow și/sau /etc/cron.deny. Aceste fișiere listează utilizatorii pentru care cron rulează sau nu scripturi din crontab. În lipsa acestor fișiere numai utilizatorul root are acces la cron.

Expresii predefinite

ValoareDescriereEchivalent@yearly (sau @annually)Execută o dată pe an, la miezul nopții de 1 ianuarie0 0 1 1 *@monthlyExecută o dată pe lună, la miezul nopții fiecărei date de 1 a lunii0 0 1 * * @weeklyExecută o dată pe săptămână, la miezul nopții, în ziua de duminică0 0 * * 0 @dailyExecută zilnic la miezul nopții0 0 * * *@hourlyExecută o dată pe oră, la începutul fiecărei ore0 * * * *@rebootExecută la pornire@reboot

Exemple Linia de configurare crontab folosită pentru a curăța logul unui server Apache arată în felul următor: 1 0 * * * echo -n "" > /www/apache/logs/error_log Scriptul este rulat în fiecare zi, la un minut după miezul nopții.

Exemplu de linie de configurare crontab care rulează un script Perl din cinci în cinci minute: */5 * * * * /home/user/test.pl

Expresii cron O expresie cron este un string de 6 sau 7 câmpuri separate prin spațiuhttp://wiki.pentaho.com/display/ServerDoc1x/05.+CRON+Expressions+in+Detail?showComments=false 05. CRON Expressions in Detail - Pentaho Wiki care descriu momentele în timp când o acțiune cron este executată.

Format Numele câmpului Obligatoriu? Valori permise Caractere speciale permise Minute Da 0-59 * / , - Ore Da 0-23 * / , - Ziua lunii Da 1-31 * / , - ? L W C Luna Da 1-12 sau JAN-DEC * / , - Ziua săptămânii Da 0-6 sau SUN-SAT * / , - ? L C # Anul Nu 1970–2099 * / , -

Unele implementări cron, precum cea din BSD scrisă de Paul Vixie, cuprind un câmp suplimentar care conține contul utilizatorului pentru care se execută jobul.

Caractere speciale * - orice valoare este permisă, de exemplu un * în câmpul 5 va indica orice lună / - increment, de exemplu 0/15 în primul câmp va indica intervale de 15 minute începând cu minutul 0 , - separator de elemente de listă, de exemplu MON,WED,FRI în câmpul șase - - intervale, de exemplu 2000-2010 ? - valoarea este omisă L (last) – este folosit pentru a marca ultima apariție posibilă, de exemplu ultima vineri din lună W (weekday) – acțiunea se petrece în una din zilele luni-vineri # - urmat de un număr, marchează o apariție specifică, de exemplu a doua vineri din lună

Exemple Fiecare minut:

23:00:00 în orice zi lucrătoare a săptămânii: 0 23 * * MON-FRI

În anul 2014, în fiecare 11 și 26 a lunii, din ianuarie până în iunie la orele 1, 9 și 22: 0 1,9,22 11,26 1-6 * 2014

Versiuni cron Prima implementare cron a fost făcută de Brian Kernighan și introdusă în Unix Versiunea 7 în anul 1979.

Noi implementări cron au apărut în decursul timpului printre care și Vixie cron scrisă de Paul Vixie în anul 1987. Versiunea 3 Vixie cron a apărut în anul 1993 și este versiunea cea mai des folosită pe sistemele BSD și Linux. Versiunea 4.1 Vixie cron a apărut în ianuarie 2004 și fost redenumită ISC Cron.

Alte implementări cron mai des folosite sunt anacron (un fork Vixie cron al lui RedHat), fcron (încearcă să înlocuiască anacron și Vixie cron) și mcron (versiunea GNU compatibilă cu Vixie cron).

Referințe

Vezi și at

Legături externe Pagina de manual cron Pagina de manual crontab crontab, Commands & Utilities Reference, The Single UNIX® Specification, Issue 7 from The Open Group GNU cron (mcron) ISC Cron 4.1 Fedorahosted.org - a fork of vixie-cron 4.1 and anacron 2.3 from the RedHat project UNIX / Linux cron tutorial - a quick tutorial for UNIX like operating systems with sample shell scripts. All about Cron on one page - a page covering Cron, starting with theory and ending with many practical examples about its usage. Cron – Planificarea execuției comenzilor Rularea programată a aplicațiilor cu cron

Categorie:UNIX Categorie:Comenzi UNIX Categorie:Linux