Cum să programați comenzile de sistem cu Cron pe Linux

Pe sistemele Linux, planificarea execuției automate a comenzilor este posibilă cu ajutorul instrumentului Cron. Acesta este un serviciu care rulează în fundal și, odată configurat, poate executa orice comandă, script sau program conform unui orar prestabilit. Un avantaj major este flexibilitatea sa completă, oferind utilizatorilor posibilitatea de a-l adapta exact la necesitățile lor.

Cron este extrem de util, însă sintaxa sa poate fi complexă și greu de înțeles, în special pentru utilizatorii începători. Scopul acestui material este de a explica în detaliu modul de funcționare al Cron și sintaxa comenzilor, astfel încât să puteți programa cu ușurință sarcinile sistemului pe mașina dumneavoastră Linux.

Instalarea Cronie

De obicei, Cron este preinstalat și configurat pe majoritatea distribuțiilor Linux, deoarece este un instrument esențial pentru automatizarea sarcinilor în mediul Linux SysAdmin.

Chiar dacă este un instrument comun, nu toate sistemele de operare Linux îl includ implicit. Prin urmare, înainte de a explica utilizarea Cron, este necesar să verificăm dacă este instalat pe sistemul dumneavoastră.

În cele ce urmează, ne vom concentra pe instalarea Cronie, un utilitar implicit în multe distribuții Redhat Linux. Motivul alegerii acestuia este funcționalitatea sa standard și disponibilitatea pachetelor în depozitele de software ale multor distribuții.

Pentru a determina dacă trebuie să instalați pachetul Cronie, deschideți o fereastră de terminal și introduceți comanda de mai jos. Dacă nu se întâmplă nimic, înseamnă că sistemul dumneavoastră nu are instrumentul necesar pentru a planifica comenzile și ar trebui să instalați Cronie.

crontab --h

Ubuntu/Debian

Ubuntu și Debian nu folosesc Cronie în mod direct. Cu toate acestea, aceste distribuții vin adesea cu Cron preconfigurat. Dacă din anumite motive nu puteți utiliza Crontab, consultați documentația oficială Debian sau Ubuntu pentru asistență.

Arch Linux

Arch Linux este o distribuție unde utilizatorii își configurează singuri sistemul, inclusiv instalarea fiecărui pachet. Din acest motiv, mulți uită să instaleze utilitarul necesar pentru programarea comenzilor sistemului. Din fericire, Cronie se găsește în depozitul de software „Arch Linux Core”. Pentru a obține Cronie, introduceți comanda Pacman de mai jos.

sudo pacman -S cronie

Fedora

Fedora Linux fiind un sistem de operare destinat stațiilor de lucru, este foarte probabil să puteți interacționa cu Cron și Crontab. Dacă, totuși, nu puteți, Cronie se instalează simplu folosind instrumentul de gestionare a pachetelor DNF.

sudo dnf install cronie -y

OpenSUSE

OpenSUSE Leap (versiunea OpenSUSE preferată de majoritatea utilizatorilor) este un sistem de operare pentru stații de lucru, similar cu Fedora, deci Cron ar trebui să fie deja configurat. Dacă nu este, instalați Cronie cu următoarea comandă Zypper.

sudo zypper install cronie

Linux generic

Dacă utilizați o distribuție Linux mai puțin cunoscută care nu include un sistem Cron, Cronie este o soluție. Fiind open-source, instrucțiunile de construire sunt simple. Pentru detalii, accesați această pagină.

Planificarea comenzilor sistemului cu Cron

Pentru a programa comenzile sistemului cu Cron, aveți nevoie de „Crontab”. Acesta este un fișier care stochează operațiunile dumneavoastră și le transmite demonului Cron pentru execuție.

Pentru a accesa Crontab pe sistemul dumneavoastră, deschideți un terminal și rulați comanda de mai jos. Este important să includeți linia EDITOR=nano, altfel veți primi un editor mai dificil de utilizat, în loc de unul simplu, precum Nano.

EDITOR=nano crontab -e

După execuția comenzii, se va deschide un editor de text cu un fișier nou, gol. Aici veți introduce comenzile.

În Cron, planificarea poate fi complexă. Ea se bazează pe minute, ore, zile, luni și zile lucrătoare. Nu vom analiza cum să scrieți manual un program Cron. În schimb, vă vom direcționa către site-ul Crontabgenerator, care simplifică semnificativ procesul.

După ce accesați generatorul, utilizați căsuțele de selectare pentru a alege un program. Apoi, când sunteți mulțumit de acesta, treceți la câmpul „Comandă de executat”.

În acest câmp, introduceți comenzile pe care doriți să le execute automat computerul sau serverul dumneavoastră Linux. Rețineți că nu sunteți limitat doar la comenzile Linux precum „apt update” sau „ping”. Puteți utiliza orice comandă! Atâta timp cât comanda dumneavoastră funcționează în terminal, va funcționa și în Cron!

După ce ați completat comanda, faceți clic pe butonul verde „Generare linie Crontab” pentru a obține o linie de text. Copiați textul și reveniți la editorul de text Crontab.

Apăsați Ctrl + Shift + V pentru a lipi codul în Nano. Apoi, salvați fișierul cu Ctrl + O și ieșiți din editor cu Ctrl + X. După salvare, munca grea este finalizată.

Notă: Utilizatorii care nu folosesc Cronie ar putea avea nevoie să ruleze comanda `crontab -e` după editare pentru a aplica modificările.

După salvarea fișierului, serviciul Cron va observa modificările și va rula comenzile conform programului specificat!