Un daemon numit Linux cron execută procese la intervale regulate. Verifică anumite foldere din sistem pentru ca scripturile să ruleze într-o serie de foldere inclusiv /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly și /etc/cron.monthly. Există, de asemenea, un fișier numit / etc / crontab.
Plasarea scripturilor în dosarele Cron
Puteți plasa pur și simplu script-uri în dosarele relevante pentru a le face să ruleze intervale regulate.
De exemplu, deschideți o fereastră terminal și executați următoarea comandă ls:
ls / etc / cron *
Veți vedea lista de programe sau scripturi care se execută orar, zilnic, săptămânal și lunar.
Problema cu aceste dosare este că acestea sunt puțin vagi. De exemplu, zilnic înseamnă că scriptul se va difuza o dată pe zi, dar nu aveți control asupra timpului în care scriptul va fi rulat în acea zi.
Aici intră fișierul crontab.
Prin editarea fișierului crontab puteți obține un script sau un program pentru a rula la data și ora exactă pe care doriți să le execute.
Permisiuni
Comanda crontab cere ca un utilizator să aibă permisiuni de editare a unui fișier crontab. Există în principiu două fișiere care sunt utilizate pentru a gestiona permisiunile crontab:
- /etc/cron.allow
- /etc/cron.deny
Dacă fișierul /etc/cron.allow există, atunci utilizatorul care dorește să editeze fișierul crontab trebuie să fie în acel fișier. Dacă fișierul cron.allow nu există, dar există un fișier /etc/cron.deny, atunci utilizatorul nu trebuie să existe în acel fișier. Dacă există ambele fișiere, atunci /etc/cron.allow suprascrie fișierul /etc/cron.deny. Dacă nu există niciun fișier, depinde de configurația sistemului dacă un utilizator poate edita crontabul.
Utilizatorul rădăcină poate modifica întotdeauna fișierul crontab. Puteți utiliza comanda su pentru a comuta la utilizatorul rădăcină sau la comanda sudo pentru a rula comanda crontab.
Editarea fișierului Crontab
Fiecare utilizator care are permisiuni adecvate își poate crea propriul fișier crontab. Comanda cron caută în mod normal toate fișierele crontab și trece prin fiecare dintre ele.
Pentru a verifica dacă aveți un fișier crontab executați următoarea comandă:
crontab -l
Dacă nu aveți un fișier crontab mesajul "no crontab for Pentru a crea sau edita un fișier crontab executați următoarea comandă: crontab -e Fișierul care se deschide are o mulțime de informații, dar partea cheie este exemplul chiar înainte de sfârșitul secțiunii de comentarii (comentariile sunt notate cu linii care încep cu #). # m h dom mon dow comandă 0 5 * * 1 tar -zcf /var/backups/home.tgz / home / Există 6 informații care se potrivesc fiecărei linii a fișierului crontab: Pentru fiecare element (cu excepția comenzii) puteți specifica un caracter cu machetă. Uită-te la următorul exemplu crontab linie: 30 18 * * * tar -zcf /var/backups/home.tgz / home / La 30 de minute, 18 ore și în orice zi, lună și zi din săptămână, această intrare crontab va zip și va întoarce directorul de domiciliu în dosarul / var / backups. Pentru a obține o comandă care să ruleze la 30 de minute în fiecare oră, executați următoarea comandă: 30 * * * * comandă Pentru a obține o comandă care să ruleze la fiecare minut după ora 18:00, executați următoarea comandă: * 18 * * * comanda Prin urmare, trebuie să fiți atenți la configurarea comenzilor dvs. crontab. De exemplu: * * * 1 * comandă Această comandă va fi difuzată în fiecare minut al fiecărei ore din fiecare zi a fiecărei săptămâni din ianuarie. Pentru a rula o comanda la ora 5 am pe 1 ianuarie, veti face la urmatoarea comanda fisierul crontab: De cele mai multe ori nu veți dori să eliminați fișierul crontab, dar este posibil să doriți să eliminați câteva rânduri din fișierul crontab. Cu toate acestea, dacă doriți să eliminați fișierul crontab al utilizatorului, executați următoarea comandă: crontab -r O modalitate mai sigură de a face acest lucru este să executați următoarea comandă: crontab -i Sistemul de operare solicită verificarea înainte de a elimina fișierul crontab.
Cum să eliminați un fișier Crontab