Crontab la fiecare oră. Cron - lansează programele utilizatorului la o oră specificată

cron– un program demon conceput pentru a efectua sarcini la un anumit moment, sau la anumite intervale. Pentru a edita joburi, utilizați utilitarul crontab.

Listare

Nu puteți modifica un fișier de programare prin simpla deschidere a acestuia într-un editor de text. Pentru a-l edita, trebuie să utilizați comanda crontab -e.

Un exemplu simplu de fișier de planificare. Faceți o captură de ecran la fiecare oră:

SHELL =/ bin/ bash MAILTO =nume utilizator 0 * * * * scrot

Setări de bază

Selectarea unui mediu pentru sarcini executabile:

SHELL =/bin/bash

Numele utilizatorului căruia i se va trimite mesajul de finalizare a sarcinii:

MAILTO =nume utilizator

În loc de nume, puteți utiliza și o adresă de e-mail:

MAILTO =example@ example.org

Setări opționale

Setați directorul utilizatorului:

ACASĂ =

Setăm directoarele fișierelor executabile:

PATH =/ sbin:/ bin:/ usr/ sbin:/ usr/ bin

Înregistrăm afișajul dacă scriptul lansat prin cron trebuie să folosească grafică:

DISPLAY =:0.0

Alegerea când să finalizeze o sarcină

Ora de începere este prezentată după cum urmează:

minute hour day_of_month month day_of_week comanda

Simbolul „*” implică orice valoare.

Timp minim 1 minut. Acest lucru se datorează faptului că cron examinează lista de sarcini în fiecare minut și le caută pe cele care trebuie finalizate.

Variabile cron suplimentare

Gestionarea cu crontab

Adăugarea unui fișier de programare:

Crontab program_file_name

Tipăriți conținutul fișierului de programare curent:

Crontab -l

Ștergerea fișierului de program curent:

Crontab -r

Editarea fișierului de programare curent (prima dată când îl rulați, va fi afișată o listă de editori de text acceptați):

Crontab -e

Această cheie vă permite să efectuați acțiunile de mai sus pentru un anumit utilizator:

Crontab -u nume de utilizator

Vă rugăm să rețineți că -u poate fi folosit numai când rulați crontab ca superutilizator.

Exemple

În fiecare minut:

* * * * *

În fiecare oră, folosind variabile cron:

@hourly ~/script.sh

În fiecare zi, la 03:15, rulați scriptul:

15 3 * * * ~/ script.sh

În fiecare luni:

0 0 * * 1

La fiecare oră pară:

* */ 2 * * *

La fel ca mai sus, dar scris integral:

* 0 ,2 ,4 ,6 ,8 ,10 ,12 ,14 ,16 ,18 ,20 ,22 * * *

La fiecare 10 minute:

*/ 10 * * * *

Anul Nou :

59 23 31 dec *

În fiecare zi a săptămânii la ora 22:00:

0 22 * * 1 -5

Lansarea unui program cu un shell grafic (GUI); În fiecare minut va fi afișat un mesaj cu textul „Funcționează!”:

0 -59 * * * * DISPLAY =:0 gdialog --msgbox „Funcționează\!”

25 20 > /dev/null

* unde DISPLAY=:0 - numărul monitorului

versiuni GUI

Există un program foarte util: Sarcini programate(gnom-program). Este o interfață grafică pentru cron și va fi utilă pentru începători, deoarece descrie timpul de execuție a unei sarcini într-un limbaj clar. De exemplu:

15 * * * *

la fiecare oră la 15 minute;

* 0 * * *

în fiecare minut, între orele 00:00 și 00:59.

Cron (coroană), Crontab (crontab), Programator de sarcini- toți cei implicați în „construcția șantierului” au auzit aceste nume de mai multe ori. Deci, ce este Cron? Cum să lucrezi cu el? De ce aveți nevoie de Cron și cum să îl configurați corect? Vom analiza toate aceste întrebări astăzi.

Primul lucru pe care vreau să-l remarc imediat: Cron, Crontab, Programator de sarcini- este tot același lucru, nu vă încurcați de varietatea denumirilor.

În practica oricărui webmaster, va fi invariabil nevoia de a rula anumite sarcini într-un program. Aceste. Pur și simplu înregistrați comanda de care aveți nevoie pentru a efectua o sarcină la un moment dat și asta este tot. Apoi totul se întâmplă fără participarea ta - automat și cel mai bine, la momentul de care ai nevoie.

De exemplu, trebuie să trimiteți periodic notificări partenerilor prin e-mail. Sau doriți să setați salutări sau mementouri automate. Sau aveți un director de site-uri și doriți ca scriptul directorului să verifice backlink-urile etc., la o frecvență specificată. Toate aceste sarcini pot fi automatizate cu ușurință, încredințându-le lui Cron sau, după cum se spune și ei - Programator de sarcini. Și există scripturi în care Cron este pur și simplu necesar pentru funcționarea normală.

Aproape toți furnizorii moderni de găzduire oferă o funcție gata făcută Programator de sarcini. Dacă nu există o astfel de funcție pe Gazduire, atunci este mai bine să nu contactați o astfel de companie de Gazduire. Cron în zilele noastre nu mai este un lux, iar dacă Hosting nu oferă un task scheduler în pachetul de servicii, este mai bine să cauți o altă companie, probabil că nu vor avea alte funcții importante.

Deci, să ne uităm la toți pașii practici pentru configurarea Cron folosind exemplul rusesc cPane l (panoul de control al site-ului) Compania de găzduire Hudson. De ce exact Hudson? Este simplu - site-ul meu locuiește aici și îmi place foarte mult această găzduire: un pachet complet cu toate serviciile posibile la un preț foarte rezonabil.

Deși decorul Programator de sarcini se întâmplă cam la fel peste tot.

Mergem la panoul de control al site-ului, în acest caz este cPanel (sunt altele). Accesul vă este oferit imediat după cumpărare Gazduire, mergeți mai jos și găsiți această secțiune, Instrumente suplimentare:

Găsim în această secțiune Programator de sarciniși faceți clic pe el. Acest meniu este uneori numit Panoul Cron. Iată cum este caracterizat Cron:

„Planificatorul de sarcini vă permite să rulați comenzi la o oră specificată fără participarea dvs. Acest lucru vă permite să automatizați munca periodică. Planificatorul de sarcini este foarte flexibil și vă permite să automatizați execuția oricăror comenzi pe care doriți să le executați. De exemplu , puteți spune programatorului să ștergă fișierele temporare în fiecare săptămână, astfel încât acestea să nu ocupe prea mult spațiu pe disc."

Există două opțiuni pentru gestionarea bolii Crohn din care să alegeți:

Standard și Avansat (stil Unix), să ne uităm la fiecare dintre ele.

Prima varianta. Faceți clic pe butonul Standard, se deschide fereastra de instalare a activității:

După cum puteți vedea, totul este foarte simplu aici. Trebuie doar să setați timpul de execuție a comenzii indicând în câmpurile corespunzătoare când va rula comanda și la ce oră: minute, Oră, Zi, Lună, Ziua săptămânii. Și, bineînțeles, introduceți comanda de lansare în sine în câmp: Comanda pentru a rula.

Valorile pot fi scrise fie manual (în câmpul din stânga), fie folosind lista derulantă (săgețile din dreapta).

Să ne dăm seama ce am scris aici. Și am scris următoarea sarcină: rulați comanda pentru execuție:
/usr/bin/php /home/freeman/domains/public_html/cron/new_day.php
la fiecare 30 de minute, la fiecare 6 ore, în fiecare zi a lunii ianuarie dacă cade luni.

După instalarea sarcinii, faceți clic pe butonul Adăugați o nouă lucrare Cron.

Nu e clar ce ai scris? :) Să ne uităm la a doua opțiune, apoi o să explic mai detaliat. Revenim la pagina anterioară.

A doua varianta. Faceți clic pe butonul Avansat (stil Unix), se deschide fereastra de instalare a activității:

Îmi place mai mult această opțiune pentru configurarea sarcinii pentru Krohn. Și deși se numește Advanced, în opinia mea este mai simplu și mai convenabil.

Aici, la fel ca în primul caz, trebuie să indicați când va fi lansată comanda, mai indicăm: minute s, Oră s, Zi, Lună, Ziua săptămâniiși însăși sarcina pentru execuție în teren Echipă. După aceea, faceți clic pe butonul Adăugați Cronjob. Sarcina a fost stabilită. Pagina este în curs de actualizare:

Și puteți adăuga o sarcină nouă repetând din nou întreaga procedură. Puteți șterge o sarcină făcând clic pe cruce de lângă sarcină din dreapta.

Mai există un parametru opțional, dar recomand să-l specificați: acesta Adresa de e-mail. La această adresă va fi trimis un raport privind executarea comenzii. Câmpul este opțional, dar este mai bine să introduceți adresa pentru a fi la curent cu problema, dacă ceva nu merge bine, Kron vă va informa despre asta într-o scrisoare, iar dacă scrisoarea ajunge goală, atunci totul este OK!

Ce am scris aici? Rulați comanda la 11 minute, la fiecare a 2-a oră, în fiecare zi, în fiecare lună, în 1, 3, 5, 7 zile ale săptămânii.

În câmpul de selecție: minute indicați minutul (sau minutele) la care sarcina va fi lansată pe teren Oră indicați ora (sau orele) la care va fi executată sarcina, precum și ziua(le) și luna(le), în fiecare câmp puteți specifica atât o anumită oră, cât și un interval.

De exemplu, puteți specifica nu doar 11 minute, ci 11-15 (interval), aceasta înseamnă că sarcina va rula la fiecare 11, 12, 13, 14, 15 minute. Sau specificați minute specifice, de exemplu: 11, 14, 18 - aceasta înseamnă că sarcina va începe la 11, 14 și 18 minute. Puteți folosi și semnul * (asterisc)- denotă fiecare. Daca pui * (asterisc)în câmpul Minute, apoi sarcina va fi lansată în fiecare minut, adică. de 60 de ori pe oră.

În fiecare câmp puteți specifica atât o anumită oră, cât și un interval și, de asemenea, puteți utiliza asteriscuri.

Înregistra */2 mijloace: la fiecare 2 ore. Toate aceste variații de înregistrare se aplică tuturor câmpurilor ( minute s, Oră s, Zi, Lună, Ziua săptămânii) când se specifică sarcina către Kron. Înțelegeți că pot exista milioane de opțiuni Rulați sarcina pentru execuție, chiar și în fiecare minut pe tot parcursul anului. Desigur, o astfel de nevoie nu apare aproape niciodată, dar teoretic există o astfel de posibilitate.

Și, de asemenea, rețineți că unele site-uri de găzduire impun restricții privind rularea Crohn, de exemplu, nu mai mult de 3 - 10 ori pe oră. De ce? Acest lucru creează o încărcare destul de vizibilă pe server. Pentru încălcare, contul dvs. poate fi blocat.

Acum să ne dăm seama cum este completat câmpul Comanda pentru a rula(în prima opțiune) sau Command (în a doua opțiune).

Sarcina este specificată după cum urmează.

În primul rând, indicați calea către PHP pe serverul dvs., pe serverul meu calea este /usr/bin/php, a dvs. poate fi diferită, verificați cu administratorii serverului dvs., după calea către PHP puneți un spațiu și scrieți calea internă completă către fișierul pe care ar trebui să-l ruleze Cron. Să presupunem că am nevoie de Cron pentru a rula fișierul mail.php, cunoscând calea internă către fișier, scriu următoarele:

public_html/cron/mail.php

aceste. în folderul public_html rădăcină, există un folder cron în care se află fișierul mail.php și comanda completă pentru a rula fișierul mail.php va arăta astfel:

/usr/bin/php /public_html/cron/mail.php

Pe diferite găzduiri, calea către PHP poate fi diferită și scrisă diferit, folderul rădăcină al locației site-ului nu este întotdeauna același public_html, deci dacă nu există un exemplu specific de înregistrare a unei sarcini Crohn, atunci este mai bine să întrebați administratorul despre aceasta, descriind ce doriți să obțineți în final. bun

Cron este un programator de sarcini care rulează pe Unix\Linux hosting. Vă permite să efectuați automat anumite acțiuni pe server (lansare de programe, scripturi etc.), cu o oră sau o frecvență specificată.

Configurarea corectă a programatorului de joburi Cron

Lucrările pentru Cron pot fi descrise după cum urmează - acestea sunt mai multe linii (o linie - o sarcină), care indică frecvența lansării și comanda (ceea ce înseamnă ce trebuie de fapt lansat):

30 3 * * 2 /yourdirectory/myscript.pl

Schematic:

Minute Ore ZiLună Lună Zi Săptămână Comanda

minute- setat de un număr de la 0 la 59

Ceas- setat cu un număr de la 0 la 23

Ziua lunii- setat de un număr de la 1 la 31

Lună- setat de un număr de la 1 la 12

Ziua săptămânii- 1 - Luni, 2 - Marți, 3 - Miercuri, 4 - Joi, 5 - Vineri, 6 - Sâmbătă, 7 - Duminică

Astfel, în exemplul nostru (30 3 * * 2 /yourdirectory/myscript.pl) înapoi înseamnă că trebuie să rulați fișierul /yourdirectory/myscript.pl în fiecare marți la 3:30 am

De asemenea, în fiecare dintre domenii putem folosi:

Scriere despărțită prin virgule: 2,5,16 - dacă scrieți acest lucru în câmpul Ore, sarcina se va desfășura la 2 am, 5 am și 4 pm.

Interval: 5-9 - dacă scrieți acest lucru în câmpul Minutes, sarcina se va rula în fiecare minut în perioada de la 5 la 9 minute.

Frecvență suplimentară: /4 - daca scrieti asta in campul ore, va insemna ca lansarea va avea loc la fiecare 4 ore.

Important! Un asterisc (*) înseamnă toate valorile posibile! Astfel, un webmaster neexperimentat care decide că pentru a rula o sarcină pe 1 a fiecărei luni este suficient să scrie * * 1 * * /yourdirectory/myscript.pl dă peste faptul că sarcina va fi lansată în fiecare minut, în fiecare oră.

Cum și unde să introduceți joburile Cron?

Prima modalitate de a lucra cu Cron este prin intermediul panoului de control al găzduirii. Dar în diferite panouri, configurarea și gestionarea sunt efectuate diferit:

cPanel: Panou de control -> Lucrări Cron

Manager ISP: Panou de control -> Programator (Cron)

Parallels Plesk: Panou de control -> Sarcini programate

Dacă furnizorul dvs. de găzduire nu are capacitatea de a lucra cu joburi prin panoul de control, atunci toate lucrările cu Cron se fac de obicei prin protocolul SSH. Totul este simplu aici - conectați-vă la server prin SSH și introduceți comenzi. Pentru a vă conecta la server, utilizați programul PuTTY gratuit (cum să îl configurați) și introduceți comenzile pe linia de comandă.

Pentru a începe, introduceți comanda

După aceasta, cel mai probabil veți fi transferat la editorul de text vi (diferiți furnizori pot avea editori diferiți). vi este un editor destul de complex, așa că vă recomandăm să încercați să introduceți linia

Dacă pornește un editor mai ușor, atunci totul este în regulă, dar dacă furnizorul tău de găzduire nu îl acceptă, atunci Google vă va ajuta să vă dați seama cu vi. Vom sublinia doar pe scurt punctele principale:

Introducerea textului- apăsați tasta i și editorul va comuta în modul de introducere a textului;

ieși din modul de introducere a textului- Esc

Șterge caracterul- x (dacă sunteți în modul de introducere test, atunci pentru a șterge un caracter, apăsați mai întâi Esc și apoi x);

Important! Când introduceți joburi pentru Cron, trebuie să apăsați Enter după fiecare linie, chiar dacă aceasta este singura linie.

Pentru a vizualiza joburile Cron existente, introduceți crontab -l

Joburi Cron cu exemple utile

Consultați regulile pentru crearea de locuri de muncă Cron. Rulați o sarcină la fiecare 2 ore la 0 minute (în fiecare zi, în fiecare lună)

0 */2 * * * /yourdirectory/myscript.pl

Rulați sarcina de fiecare dată după repornirea serverului

@reboot/yourdirectory/myscript.pl

Rulați sarcina miercurea la ora 3:20 (în fiecare zi, în fiecare lună)

20 3 * * 3 /yourdirectory/myscript.pl
1 0 14 3 * /yourdirectory/myscript.pl

Rulați sarcina lunar pe 1 la ora 3:15 (în fiecare lună)

15 3 1 * * /yourdirectory/myscript.pl

Rulați fișiere PHP într-un program folosind Cron

Pentru a rula scripturi PHP prin Cron, puteți utiliza un interpret special. Din păcate, nu vă putem oferi instrucțiuni despre cum să-l utilizați, deoarece... Diferiți furnizori pot utiliza software diferit. Prin urmare, mulți webmasteri lansează fișiere PHP folosind WGET, pentru aceasta folosim următoarea intrare crontab:

30 3 * * 2 root wget -O - -q -t 1 http://mysite.com/file.php

„-O -” înseamnă că Cron nu va crea fișiere inutile, ci va funcționa prin consolă. Acest lucru vă permite să evitați aglomerarea serverului.

„-q” dezactivează imprimarea operației pe ecran

„-t 1” permite doar o singură încercare de conectare.

http://mysite.com/file.php - calea către fișierul dvs. PHP (nu este necesar să specificați o cale absolută).

Important! Dacă treceți parametri folosind acest fișier PHP, există momente în care WGET nu îi procesează corect. În acest caz, vă recomandăm să includeți adresa fișierului PHP între ghilimele simple:

30 3 * * 2 root wget -O - -q -t 1 "http://mysite.com/file.php"

De asemenea, există o altă modalitate de a începe:

30 3 * * 2 /usr/bin/wget -O - -q -t 1 http://mysite.com/file.php

Dar, în acest caz, trebuie să cunoașteți calea către folderul wget de pe serverul dvs. (cel mai adesea /usr/bin/wget sau /usr/local/bin/wget).

Primiți un raport de lucru Cron prin e-mail

Cron poate fi configurat să trimită e-mailuri cu rezultatele executării joburilor. Această caracteristică poate fi utilă și pentru notificarea în cazul unei erori. Pentru a primi un raport prin e-mail, trebuie să editați crontab (înainte de sarcini) și să scrieți următorul rând:

Unde [email protected]- acesta este e-mailul la care vor fi trimise scrisorile. De asemenea, puteți adăuga mai multe adrese, separate prin virgule.

Mai este un lucru: veți primi și rezultatul scriptului pe e-mail. de exemplu, dacă scenariul scrie un fel de inscripție pe ecran, atunci aceeași inscripție va fi trimisă la e-mailul tău împreună cu raportul. Dacă acest lucru vă enervează, atunci adăugați linia > /dev/null 2>&1 la sfârșitul sarcinii

30 3 * * 2 /usr/bin/wget -O - -q -t 1 http://mysite.com/file.php > /dev/null 2>&1

(Scheduled tasks) este folosit pentru a configura execuția comenzilor într-un program sau la o oră strict stabilită. Prin folosirea CronTab Puteți seta o anumită oră, iar comanda pe care o specificați va fi executată exact în acel moment. Configurați CronTab este posibil în așa fel încât sarcina să fie executată o dată la fiecare lună, zi, orăŞi fiecare minut sau, de exemplu, la fiecare 10 minute. De asemenea, puteți combina, de exemplu, trebuie să efectuați sarcina o dată pe oră în primele 2 ore, apoi să nu o efectuați în următoarele 2 ore.

De asemenea, una dintre avantaje este capacitatea de a trimite rezultatele îndeplinirii sarcinilor prin e-mail. Pentru a face acest lucru, faceți clic pe inscripția corespunzătoare și introduceți adresa dvs. de e-mail.

Task Master

Prima cunoștință cu Cron pentru noi începe cu descoperirea Quest Masters. Folosind expertul, puteți configura timpul de execuție a scripturilor fără cunoștințe serioase de administrare, selectând pur și simplu o anumită combinație din listele derulante. De asemenea, trebuie să introduceți calea către scriptul sau comanda care va fi executată Cron.

Să vedem un exemplu de rulare a unui script scris în limbaj PERL, care trebuie lansat la fiecare 5 minute.

După ce faceți clic pe butonul, sub fereastra principală Cron O nouă intrare va apărea cu prima configurație. Numărul de astfel de intrări este nelimitat.

Acum avem prima sarcină pe care o putem porniți/opriți, schimba sau şterge folosind butoanele situate în dreapta vizavi de fiecare dintre sarcini:

Activați/dezactivați sarcina;
- schimba sarcina;
- ștergeți sarcina.

Configurarea manuală a CronTab.

Există și o setare manuală în secțiune care vă permite să configurați timpul de lansare a scriptului în mod obișnuit, pentru cei familiarizați cu Cron.

Timp, interval

Minutele pot fi de la 0 la 59
Orele pot fi de la 0 la 23
Ziua lunii poate fi de la 1 la 31
O lună poate 1 la 12
Ziua săptămânii poate fi de la 0 la 7 , unde 0 și 7 sunt duminică

Poate fi configurat CronTab pentru a îndeplini sarcini nu numai la un anumit moment
timp, dar și fiecare minut, orar, zilnic, săptămânal sau lunar,
folosind o combinație */x

Exemple

*/5 * * * * - rulați comanda la fiecare cinci minute
0 */3 * * * - rulați la fiecare trei ore
0 12-16 * * * - rulați comanda în fiecare oră de la 12 la 16 (la 12, 13, 14, 15 și 16)
0 12,16,18 * * * - rulați comanda în fiecare oră la 12, 16 și 18 ore

*/1 * * * * /usr/bin/php ~/site.ru/public_html/test.php- rulează scriptul php test.php în fiecare minut
0 */1 * * * /usr/bin/perl ~/site.ru/public_html/test.pl- rulează scriptul perl test.pl la fiecare oră

Echipă

Trebuie să setați calea către script din directorul dvs. principal
De exemplu: public_html/cgi-bin/script.pl
Sistemul va înlocui simbolul în sine ~/ (această combinație înlocuiește calea completă)
Se va dovedi: ~/public_html/cgi-bin/script.pl
Dacă puneți simbolul la capătul căii & (ampersand), apoi scriptul va rula în fundal.
Setarea acestui simbol este opțională.

, | |

Astăzi, Cron este una dintre cele mai comune modalități de a automatiza lansarea proceselor în Linux. Cron este un demon care rulează în fundal și vă permite să programați și să automatizați lansarea diferitelor sarcini (inclusiv cele legate de suportul serverului). Pentru a face acest lucru, utilizați fișierul de configurare crontab.

Instalarea Cron

În zilele noastre, aproape toate distribuțiile vin cu demonul cron deja instalat implicit. Dacă cron nu este instalat implicit, îl puteți instala rapid folosind următoarele comenzi:

Ubuntu/Debian:

sudo apt-get update
sudo apt-get install cron

Cent OS/Red Hat Linux:

sudo yum update
sudo yum instalează vixie-cron crontabs

După finalizarea instalării, trebuie să vă asigurați că cron rulează în fundal:

sudo /sbin/chkconfig crond activat
sudo /sbin/service crond start

Sintaxa de bază

Luați în considerare următorul exemplu de sarcină care trebuie programată pentru a rula:

5 * * * * curl http://www.google.com

Sintaxa pentru programarea diferitelor sarcini poate părea confuză la început. De fapt, este foarte scurt și simplu, trebuie doar să-ți dai seama cum să-l citești. Fiecare linie este împărțită într-un grafic și o comandă. Aproape orice comandă poate fi introdusă în linie. Programul este împărțit în 5 câmpuri diferite de planificare, în următoarea ordine:

<Минуты> <Часы> <Дни_месяца> <Месяцы> <Дни_недели>

Exemple de utilizare a cron

Această secțiune conține exemple de programare a celor mai comune sarcini.

Pentru ca comanda să ruleze automat în fiecare minut:

Astfel încât comanda să fie executată la fiecare douăsprezece minute din oră (08.12, 09.12 etc.):

Pentru a rula comanda la fiecare 15 minute:

0,15,30,45 * * * *

Pentru ca comanda să ruleze automat în fiecare zi la ora 4:00:

Pentru a rula comanda în fiecare marți la ora 4:00:

Programul poate fi împărțit. Adică, în loc de 0,15,30,45 puteți folosi:

Vă rugăm să rețineți intervalul 2-6. Această sintaxă va rula comanda specificată de la 2:00 la 6:00 la fiecare 15 minute.

După cum puteți vedea, sintaxa extrem de puternică și flexibilă a lui cron vă permite să specificați aproape orice interval de timp.

Configurarea cron

Odată ce ați dezvoltat un program de sarcini, trebuie să îl plasați în punctul corect din sistem, astfel încât demonul să îl poată găsi și citi. În general, există mai multe astfel de puncte în sistem, dar, de regulă, un astfel de grafic este plasat în crontab-ul utilizatorului. După cum sa menționat deja, crontab este un fișier de configurare pentru demonul cron care conține o programare pentru rularea anumitor comenzi și programe. Acest fișier se află în /var/spool/cron/crontab, dar nu este obișnuit să îl editați direct. Pentru a adăuga programele necesare în fișier, utilizați comanda cu același nume - crontab. Adică, pentru a edita fișierul crontab, puteți introduce pur și simplu:

Această comandă va deschide un editor de text cu ajutorul căruia puteți face toate modificările necesare; Fiecare sarcină nouă trebuie introdusă pe o linie nouă.

Pentru a vizualiza crontab fără a face modificări, utilizați comanda:

Puteți șterge crontab folosind următoarea comandă:

Un utilizator superior poate edita crontab-ul altor utilizatori folosind:

crontab -u<пользователь>-e

ieșire cron

După finalizarea sarcinii, cron trimite rezultatul la adresa de e-mail a utilizatorului (cu excepția cazului în care rezultatul trebuie trimis în jurnal sau /dev/null). Adresa de e-mail poate fi specificată manual prin adăugarea parametrului MAILTO în partea de sus a crontabului. De asemenea, puteți specifica shell-ul de rulat, calea către binarul cron și directorul dvs. de acasă. Pentru a face acest lucru:

primul crontab deschis:

apoi editați-l astfel:

SHELL=/bin/bash
ACASA=/
MAILTO="example@some_user.com"
#Acesta este un comentariu
* * * * * echo „Rulează această comandă în fiecare minut”

Această linie va returna Rulați această comandă în fiecare minut. Daemonul cron va trimite această ieșire la example@some_user.com. Acest lucru, desigur, nu este foarte convenabil. După cum am menționat mai devreme, această ieșire poate fi trimisă într-un fișier jurnal pentru a evita astfel de situații.

Pentru a face acest lucru trebuie doar să adăugați:

* * * * * echo ‘Rulează această comandă în fiecare minut’ >> file.log

Notă: simbolurile >> vor direcționa ieșirea către jurnal. Pe lângă jurnalele, puteți utiliza și /dev/null folosind următorul script PHP care rulează în fundal.

* * * * * /usr/bin/php /var/www/domain.com/backup.php > /dev/null 2>&1

Restricționarea accesului la cron

Pentru a restricționa accesul la demonul cron, trebuie să utilizați fișierele /etc/cron.allow și /etc/cron.deny. Pentru a permite (permite) sau interzice (interzice) accesul unui anumit utilizator, trebuie pur și simplu să introduceți numele de utilizator în fișierul corespunzător. În mod implicit, demonul cron este disponibil pentru toți utilizatorii. Pentru a refuza accesul tuturor utilizatorilor și pentru a acorda acces numai utilizatorului exemplu, trebuie să utilizați următoarea secvență de comenzi.