Cum să editați fișierul Linux Crontab pentru a programa lucrări
Ce să știi
- Afișează conținutul crontab cu: crontab -l
- Editați crontab cu: crontab -e
- Cronometrarea funcționează cu: minut, ora, ziua lunii, lună, zi a săptămânii. Folosiți un asterisc (*) pentru a rula cron în fiecare zi, oră etc.
Acest articol explică cum să utilizați cron, care este un daemon în Linux care rulează procese la intervale regulate. Verifică anumite foldere dintr-un 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ă și un fișier numit /etc/crontab.
Plasați scripturile în folderele Cron
Plasați scripturile în folderele relevante pentru a le face să ruleze la intervale regulate. De exemplu, deschideți o fereastră de terminal și executați următoarele comanda ls:
ls /etc/cron*
Comanda listează programele sau scripturile care rulează la oră, zilnic, săptămânal și lunar.

Aceste foldere sunt vagi. De exemplu, zilnic înseamnă că scriptul rulează o dată pe zi, dar nu aveți control asupra timpului în care scriptul rulează în acea zi.
Aici intervine fișierul crontab. Editând fișierul crontab, rulați un script sau un program la data și ora exactă la care doriți să ruleze.
Permisiuni
Comanda crontab necesită ca un utilizator să aibă permisiunea de a edita un fișier crontab. Există două fișiere care gestionează permisiunile crontab: /etc/cron.allow și /etc/cron.deny.
- Dacă fișierul /etc/cron.allow există, utilizatorul care dorește să editeze fișierul crontab trebuie să fie listat în acel fișier.
- Dacă fișierul cron.allow nu există, dar există un fișier /etc/cron.deny, utilizatorul nu trebuie să existe în acel fișier.
- Dacă ambele fișiere există, fișierul /etc/cron.allow înlocuiește fișierul /etc/cron.deny.
- Dacă niciun fișier nu există, depinde de configurația sistemului dacă un utilizator poate edita crontab.
Utilizatorul root poate edita oricând fișierul crontab. Puteți folosi fie comanda su pentru a comuta la utilizatorul root sau comanda sudo pentru a rula comanda crontab.
Editați fișierul Crontab
Fiecare utilizator care are permisiunile corespunzătoare poate crea un fișier crontab. Comanda cron caută toate fișierele crontab și rulează prin fiecare fișier.
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 nici crontab pentru apare, altfel se afișează fișierul crontab.
Această funcționalitate diferă de la sistem la sistem. Uneori nu afișează nimic, iar alteori afișează nu editați acest fișier.

Pentru a crea sau edita un fișier crontab, rulați următoarea comandă:
crontab -e.
Fișierul care se deschide are o mulțime de informații, dar partea cheie este exemplul înainte de sfârșitul secțiunii de comentarii (comentariile sunt notate prin rânduri care încep cu #).
# m h dom mon dow comanda.
0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

Există șase informații care se potrivesc pe fiecare linie a fișierului crontab:
- Minutul zilei în care comanda urmează să ruleze (m).
- Ora din zi în care urmează să ruleze comanda (h).
- Ziua lunii în care comanda urmează să ruleze (dom).
- Luna în care urmează să ruleze comanda (lun).
- Ziua săptămânii în care urmează să ruleze comanda (dow).
- Comanda.
Pentru fiecare articol (cu excepția comenzii), puteți specifica un caracter joker. Uitați-vă la următorul exemplu de linie crontab:
30 18 * * * tar -zcf /var/backups/home.tgz /home/
La 30 de minute, 18 ore și în orice zi, lună și zi a săptămânii, această intrare crontab va fermoar și gudron directorul principal în folderul /var/backups.
În exemplele de mai jos, înlocuiți cuvântul comandă cu comanda pe care doriți să o executați.
Pentru a face ca o comandă să ruleze la 30 de minute după fiecare oră, rulați următoarea comandă:
30 * * * * comanda.
Pentru ca o comandă să ruleze în fiecare minut după ora 18:00, executați următoarea comandă:
* 18 * * * comanda.
Prin urmare, trebuie să fiți atenți la configurarea comenzilor crontab.
De exemplu:
* * * 1 * comandă.
Această comandă rulează în fiecare minut din fiecare oră din fiecare zi a fiecărei săptămâni în ianuarie.
Pentru a rula o comandă la 5 a.m. pe 1 ianuarie, introduceți următoarea comandă în fișierul crontab:
0 5 1 1 * comanda.
Cum să eliminați un fișier Crontab
De cele mai multe ori, nu veți dori să eliminați fișierul crontab. Cu toate acestea, este posibil să doriți să eliminați unele rânduri din fișierul crontab.
Pentru a elimina fișierul crontab al utilizatorului, rulați următoarea comandă:
crontab -r.
O modalitate mai sigură de a face acest lucru este să rulați următoarea comandă:
crontab -i.
Sistemul de operare solicită verificare înainte de a elimina fișierul crontab.