4 moduri de a verifica dacă cron funcționează pe Linux

Planificatorul de sarcini Cron: Verificarea funcționalității pe Linux

Cron reprezintă un instrument esențial în sistemele de operare Linux și Unix, fiind un planificator de sarcini automatizat. Acesta este inclus implicit în toate distribuțiile Linux, fiind ideal pentru automatizarea sarcinilor repetitive.

Pentru a asigura funcționarea corectă a cron, este necesară verificarea periodică a utilitarului. Această verificare se poate realiza prin diverse metode, cum ar fi: analiza stării serviciului cron, examinarea fișierelor jurnal, executarea unui job cron de test și vizualizarea proceselor active.

Ce este, de fapt, Cron?

Cron este un manager de sarcini ce permite automatizarea și programarea sarcinilor de sistem. Utilizatorii care gestionează și întrețin medii software folosesc cron pentru a programa diverse acțiuni, cum ar fi comenzi sau scripturi shell (cunoscute și sub denumirea de joburi cron), care vor rula la intervale de timp stabilite.

Cron este util pentru automatizarea sarcinilor de întreținere sau administrare a sistemului pe care le-ați putea executa în mod repetat.

Există mai multe implementări disponibile în Linux, iar versiunea specifică depinde de distribuția utilizată. „Vixie cron”, denumit după dezvoltatorul său Paul Vixie, este frecvent întâlnit și este implicit în Debian și Ubuntu. Arch Linux, spre exemplu, utilizează cronometre systemd în locul unei versiuni specifice de cron.

Cronie, o versiune derivată din Vixie cron, este disponibilă ca pachet standard în Arch Linux. Instalarea se realizează prin intermediul pacman:

sudo pacman -S cronie

După instalare, se pornește și se activează serviciul cu următoarele comenzi:

sudo systemctl start cronie.service
sudo systemctl enable cronie.service

Pentru a verifica ce versiune de cron este instalată pe sistemul dumneavoastră, puteți consulta pagina de manual:

man cron

Verificarea funcționalității cron pe Linux

Iată câteva dintre metodele prin care puteți confirma că cron funcționează corect:

1. Analiza stării serviciului cron

Una dintre cele mai simple metode de a verifica funcționalitatea cron este analizarea stării serviciului utilizând comenzile de bază Linux. Deschideți terminalul (Ctrl + Alt + T) și utilizați comanda systemctl pentru a verifica starea cron:

sudo systemctl status cron

O ieșire care indică faptul că cron este activ confirmă funcționarea corectă a acestuia:

În cazul în care starea cron este inactivă (inactive), ca în imaginea de mai jos:

Puteți activa serviciul folosind:

sudo systemctl start cron.service

Ulterior, activați serviciul pentru a porni automat la fiecare repornire a sistemului:

sudo systemctl enable cron.service

2. Examinarea fișierelor jurnal (log)

O altă metodă de a verifica funcționalitatea cron este analiza fișierelor jurnal. Acestea sunt stocate în directorul /var/log/syslog pe majoritatea sistemelor Linux.

Syslog este un protocol care centralizează jurnalele de evenimente. Aceste jurnale sunt utilizate pentru audit, monitorizare, depanare și alte operațiuni IT.

Pentru a vizualiza jurnalele joburilor cron din fișierul syslog, utilizați următoarea comandă:

grep 'cron' /var/log/syslog

O ieșire similară indică faptul că cron funcționează și jurnalele sunt stocate corect:

Deoarece folderul syslog conține diverse jurnale de sistem, poate fi dificil să identificați doar jurnalele cron. Pentru a rezolva acest aspect, puteți crea un fișier jurnal dedicat, care va stoca doar înregistrările cron din syslog.

În acest exemplu vom folosi editorul nano, dar puteți alege orice editor preferați.

Deschideți fișierul de configurare folosind nano:

nano /etc/rsyslog.d/50-default.conf

Localizați linia care începe cu:

#cron.*

Eliminați simbolul hash (#) de la începutul liniei pentru a o debloca. Salvați și închideți fișierul (Ctrl + X, apoi Y și Enter).

Reporniți serviciul rsyslog cu comanda:

sudo service rsyslog restart

De acum, jurnalele cron vor fi stocate în fișierul cron.log, din directorul /var/log.

Dacă terminalul nu afișează niciun jurnal, este posibil ca cron să nu fie activ. În acest caz, utilizați și alte metode de verificare.

3. Executarea unui job cron de test

O metodă suplimentară pentru verificarea funcționalității cron este crearea și executarea unui job de test. Dacă jobul se finalizează cu succes, atunci cron funcționează corespunzător.

În primul rând, este necesar un script Bash. Scripturile Bash permit automatizarea sarcinilor de zi cu zi pe Linux.

Vom crea un script Bash care va scrie textul „cronjob-ul meu funcționează!” într-un fișier TXT. Pentru a începe, aflați directorul curent cu comanda:

pwd

Creați un fișier text în directorul curent folosind comanda touch:

touch file.txt

Ulterior, creați un fișier Bash cu nano:

nano script.sh

Adăugați următorul conținut:

#! /usr/bin/bash
echo "my cronjob is working!" >> /home/nume_utilizator/file.txt

Asigurați-vă că indicați calea corectă către fișierul text creat. Salvați și închideți fișierul (Ctrl + X, apoi Y și Enter).

Acordați permisiuni de execuție scriptului Bash:

chmod +x script.sh

Creați acum un job cron care va executa scriptul. Pentru a face acest lucru, deschideți fișierul crontab cu:

crontab -e

Adăugați următoarea linie la sfârșitul fișierului:

* * * * * /cale/catre/script.sh

Cele cinci asteriscuri corespund timpului de execuție: primul asterisc reprezintă minutele (0-59), al doilea orele (0-23), al treilea ziua (0-7, 0 și 7 sunt duminică), al patrulea luna, iar ultimul anul.

De asemenea, este necesar să indicați numele fișierului executabil și calea către acesta.

După salvarea și închiderea fișierului, veți primi un mesaj „crontab: installing new crontab”.

Pentru a verifica dacă jobul cron a funcționat, accesați directorul file.txt și afișați conținutul acestuia folosind cat:

cat file.txt

Acest lucru confirmă că cron funcționează corect.

4. Verificarea proceselor active

Un alt mod de a verifica funcționalitatea demonului cron este listarea proceselor active. Acest lucru se realizează cu comanda ps. Demonul cron va fi afișat în ieșire sub denumirea de crond.

ps aux | grep cron

Acest rezultat confirmă că procesul cron este activ pe sistemul dumneavoastră Linux.

Automatizarea sarcinilor cu ajutorul cron

Cron este un utilitar esențial în Linux, care asigură o funcționare eficientă a sistemului. Verificarea periodică a funcționalității cron este necesară, în special atunci când apar probleme la nivelul sistemului.

Această verificare se poate realiza prin analiza fișierelor jurnal, vizualizarea proceselor active sau prin verificarea stării cron folosind utilitarul systemctl. De asemenea, executarea unui job cron de test poate confirma funcționarea corectă a serviciului.

Funcționarea corespunzătoare a cron permite automatizarea și programarea sarcinilor zilnice de sistem. Majoritatea joburilor cron sunt create automat de aplicațiile instalate. Automatizarea și programarea sarcinilor îmbunătățesc performanța sistemului și îl mențin în stare bună.