cron este un planificator de joburi pentru sistemele de operare Linux și Unix. Vine preinstalat pe toate distribuțiile Linux și este cel mai potrivit pentru automatizarea sarcinilor repetitive.
Pentru ca cron să funcționeze corect, trebuie să verificați periodic dacă utilitarul funcționează bine pe sistemul dumneavoastră. Puteți face asta folosind patru moduri diferite, inclusiv verificarea stării serviciului cron, examinarea jurnalelor cron, rularea unui job cron de testare și listarea proceselor care rulează pe sistemul dumneavoastră.
Ce este cron?
Managerul silențios de joburi, cron, automatizează și programează sarcinile sistemului. Utilizatorii care configurează și întrețin mediile software folosesc cron pentru a programa joburi, cum ar fi comenzi sau scripturi shell - numite și joburi cron - pentru a rula periodic la ore sau intervale fixe.
cron automatizează sarcinile de întreținere sau administrare a sistemului pe care ar putea fi necesar să le efectuați frecvent.
Cum să verificați dacă cron funcționează pe Linux
Iată câteva dintre modalitățile prin care puteți verifica dacă cron funcționează corect:
Metoda 1: Verificați starea serviciului cron pe Linux
O modalitate de a verifica dacă cron funcționează este prin verificarea stării serviciului cron prin rularea unei comenzi de bază Linux. Deschideți terminalul Linux apăsând Ctrl + Alt + T si foloseste comanda systemctl pentru a verifica starea cron:
sudo systemctl status cron
Dacă vedeți următoarea ieșire, aceasta înseamnă că cron este activ și funcționează bine pe sistemul dvs.
Dar ce se întâmplă dacă cron este într-o stare inactivă, așa cum se arată mai jos?
Puteți începe serviciul astfel:
sudo service cron start
După pornirea serviciului cron, activați-l astfel încât să pornească de fiecare dată când sistemul repornește:
sudo service cron permite
Metoda 2: Verificați jurnalele cron pe Linux
O altă modalitate de a verifica dacă cron funcționează corect este prin examinarea fișierelor jurnal. jurnalele cron sunt stocate în /var/log/syslog director pe Linux.
syslog este un protocol pe care sistemele Linux îl folosesc pentru a centraliza jurnalele de date despre evenimente. Jurnalele sunt apoi accesate pentru a efectua audituri, monitorizare, depanare, raportare și alte sarcini operaționale IT necesare.
Puteți vedea jurnalele de job cron în fișierul syslog executând următoarea comandă:
grep CRON /var/log/syslog
Veți vedea o ieșire similară care indică faptul că cron funcționează bine și jurnalele sale sunt stocate în fișierul jurnal:
Deoarece folderul syslog conține și alte jurnalele de sistem împreună cu jurnalele cron, poate fi puțin dificil să examinezi doar jurnalele legate de cron din fișier. Puteți rezolva acest lucru prin crearea unui fișier jurnal separat care stochează doar intrările cron care apar în fișierul syslog.
Pentru a face acest lucru, deschideți următorul fișier folosind editorul nano:
nano /etc/rsyslog.d/50-Mod implicit.conf
Găsiți linia care începe cu:
#cron.*
Decomentați această linie eliminând hash-ul (#) semn. Apoi, salvați și ieșiți din fișier apăsând Ctrl + X, apoi apăsați Y și lovit introduce.
Reporniți serviciul rsyslog lansând această comandă:
sudo service rsyslog restart
Veți primi acum jurnalele în cron.log fișierul aflat în /var/log director.
Dacă terminalul nu reușește să preia niciun jurnal, asta ar putea însemna că cron nu rulează. În acest caz, confirmați dacă cron funcționează sau nu folosește alte metode.
Metoda 3: Rularea unui job cron pe Linux
De asemenea, puteți verifica dacă cron funcționează pur și simplu creând un job cron de testare și executându-l. Dacă jobul reușește să îndeplinească sarcina, aceasta înseamnă că funcționează bine.
Mai întâi trebuie creați un script Bash. Bash scripting vă permite să automatizați sarcinile de zi cu zi pe Linux.
Să creăm un script Bash care va tipări „cronjob-ul meu funcționează!” într-un fișier TXT. Pentru a crea fișierul, mai întâi, aflați directorul de lucru actual folosind această comandă:
pwd
Creați un fișier în directorul curent folosind comanda tactilă:
atingerefişier.TXT
După aceasta, creați un fișier Bash folosind nano:
nanoscenariu.SH
Adăugați următorul conținut la fișier:
#! /usr/bin/bash
ecou "Cronjob-ul meu funcționează!" >> /home/username/file.txt
Asigurați-vă că furnizați locația corectă a fișierului text pe care l-ați creat. Salvați și ieșiți din fișier apăsând Ctrl + X, apoi Y, și lovit introduce.
Acordați permisiuni de execuție scriptului Bash:
chmod +Xscenariu.SH
Acum creați un job cron pentru a executa scriptul. Pentru a face asta, deschideți fișierul crontab cu:
crontab -e
Introduceți următorul rând la sfârșitul fișierului.
* * * * * /path/la/script.sh
Cele cinci asteriscuri se potrivesc cu timpul de execuție, în care primul asterisc reprezintă minutele, al doilea reprezintă ore, al treilea asterisc înseamnă ziua, al patrulea indică luna, iar ultimul asterisc indică anul.
Numele fișierului executabil și calea acestuia sunt de asemenea menționate în fișier.
După salvarea și închiderea fișierului, veți vedea un „crontab: instalarea noului crontab” mesaj pe terminal.
Pentru a verifica dacă lucrarea cron a funcționat sau nu, accesați directorul de fișier.txt și imprimați conținutul acestuia pe terminal folosind cat:
pisicăfişier.TXT
Acest lucru indică faptul că cron funcționează bine.
Metoda 4: Verificați procesele care rulează pe Linux
Un alt mod în care puteți verifica dacă demonul cron funcționează este prin listarea proceselor care rulează pe sistemul dumneavoastră. Puteți obține acest lucru folosind comanda ps. Daemonul cron va apărea în ieșire ca crond.
ps -ef | grep crond
Acest lucru confirmă că procesul cron rulează pe sistemul dvs. Linux.
Automatizați și programați sarcinile sistemului cu cron
cron este unul dintre cele mai vitale utilitare de pe Linux, care permite sistemului să funcționeze eficient. Uneori trebuie să verificați dacă cron funcționează în timp ce depanați problemele sistemului.
Puteți realiza acest lucru fie verificând jurnalele cron, fie văzând procesele care rulează pe sistemul dumneavoastră. De asemenea, puteți verifica starea cron folosind utilitarul systemctl. În plus, rularea unui job cron de testare vă poate spune și dacă serviciul rulează sau nu.
Funcționarea fără probleme a cron vă permite să automatizați și să programați lucrări de sistem de zi cu zi. Majoritatea joburilor cron sunt create automat de aplicațiile instalate. Automatizarea și programarea sarcinilor îmbunătățește performanța generală a sistemului și îl menține sănătos.