Cron este un utilitar pentru programarea sarcinilor în sistemul de operare Linux. Acesta vă permite să rulați scripturi sau comenzi în mod automat la anumite momente, intervale sau evenimente.
Pentru a utiliza Cron, trebuie să creați un fișier crontab
care conține o listă de sarcini și intervale de timp în care acestea ar trebui să fie executate. Fiecare sarcină din crontab este un șir care constă din cinci câmpuri separate prin spații:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday = 0 or 7)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +----------- hour (0 - 23)
+------------- minutes (0 - 59)
*
reprezintă orice valoare, de exemplu, dacă câmpul minutes conține un *
, sarcina va fi executată în fiecare minut. Dacă doriți să setați o valoare specifică pentru un câmp, de exemplu, în fiecare zi la ora 3 dimineața, trebuie să scrieți 0 3 * * * * *
.
Pentru a crea sau modifica un fișier crontab, utilizați comanda crontab -e. Fiecare utilizator poate avea propriul fișier crontab, precum și fișierul de sistem /etc/crontab
, care conține sarcini care se execută ca utilizator root.
Există o comandă cronjob
care vă permite să executați sarcini în interiorul containerelor Docker. Aceasta funcționează similar cu crontab
, dar sarcinile pot fi executate în interiorul containerului în loc de sistemul gazdă.
Pentru a începe să utilizați Cron în Linux, urmați acești pași:
1. Deschideți un terminal și tastați comanda crontab -e
. Aceasta va deschide fișierul crontab pentru utilizatorul curent.
2. Adăugați o sarcină la fișierul crontab în conformitate cu formatul câmpului descris mai sus. De exemplu, dacă doriți să executați scriptul every_hour.sh
în fiecare oră, adăugați linia 0 * * * * * * * /path/to/every_hour.sh
.
3. Salvați modificările și închideți fișierul.
4. Verificați dacă sarcina a fost adăugată la crontab utilizând comanda crontab -l
. Aceasta va afișa o listă a tuturor sarcinilor adăugate la crontab
.
5. Verificați dacă sarcina se execută conform programării utilizând comanda tail -f /var/log/syslog
. Veți vedea ieșirea referitoare la executarea sarcinii.
6. Dacă doriți să eliminați o sarcină din crontab
, utilizați comanda crontab -r
.
Există câteva puncte importante de care trebuie să țineți cont:
crontab
. Dar dacă doriți să executați un script, asigurați-vă că acesta are permisiuni de execuție(chmod +x /path/to/script.sh
).sudo crontab -e
pentru a deschide fișierul crontab
pentru utilizatorul root.Rețineți că ora specificată în crontab
va coincide cu ora de pe serverul care execută Cron. Dacă utilizați un server de la distanță, asigurați-vă că ora de pe server este configurată corect.