Cum să verificați dacă Crontab funcționează

Cum Sa Verificati Daca Crontab Functioneaza



Programarea locurilor de muncă este un lucru obișnuit atunci când gestionați sistemele. Este posibil să programați copii de rezervă automate sau să trimiteți e-mailuri. Pentru a programa lucrările, utilizați crontab care reprezintă tabel cron. Un job programat devine un cron job. Crontab trebuie să ruleze pentru ca dvs. să programați joburile și pentru ca jobul dvs. programat să fie executat.

În acest ghid, învățăm diferitele moduri de a verifica dacă crontab-ul tău funcționează și cum să-l pornești dacă nu rulează.







Cum să verificați dacă Crontab funcționează

Dacă crontab-ul dvs. este inactiv, puteți programa în continuare lucrările. Dar problema este că lucrările nu se vor executa. Pentru a evita un astfel de scenariu, trebuie să verificăm dacă crontab funcționează înainte sau după programarea unui job.



Există diferite moduri de a verifica dacă crontab funcționează:



1.Verificați starea Cron





Crontab este un serviciu cron; dacă nu l-ați pornit, cron rămâne inactiv. Utilizați următoarea comandă pentru a verifica starea acesteia:

$ sudo starea serviciului cron


Dacă starea sa se afișează ca inactiv (mort), înseamnă că crontab nu funcționează. S-ar putea să l-ai oprit sau să nu fi început.




Într-un astfel de caz, porniți serviciul cron și verificați din nou starea acestuia pentru a vă asigura că funcționează. Ar trebui să afișeze activ (alergare) stare.

$ sudo starea serviciului cron



2. Verificați procesele în rulare

Dacă crontab funcționează, serviciul cron ar trebui să fie unul dintre procesele care rulează în prezent pe sistemul dumneavoastră. Aici, puteți folosi ps comandă pentru a afișa toate procesele care rulează. Apoi, combinați-l cu prindere comandă pentru a filtra „cron” din rezultatul proceselor care rulează.

Iată comanda de utilizat:

$ ps la | prindere cron


Dacă crontab funcționează, comanda returnează PID-ul serviciului cron la diferiți utilizatori. În acest caz, returnează procesul cron pentru rădăcină și utilizator numit „kyle”. Asta confirmă că crontab funcționează.


Alternativ, puteți verifica dacă crontab funcționează verificând dacă returnează un PID utilizând prindere comanda. Comanda pgrep caută prin lista de ID-uri de proces și găsește procesul țintă.

$ pgrep cron


Rețineți că ID-ul procesului care este returnat în următoarea ieșire se potrivește cu cel pentru PID-ul rădăcină pentru serviciul cron pe care l-am găsit în exemplul anterior. Asta confirmă, de asemenea, că crontab-ul tău este în funcțiune.


Să presupunem că am oprit serviciul cron și am încercat să-i obținem PID folosind pgrep pentru a verifica dacă crontab rulează. Comanda nu produce nicio ieșire. Într-un astfel de caz, confirmă că crontab nu funcționează și trebuie să îl porniți.


3. Confirmați cu fișierele jurnal

O altă modalitate excelentă de a verifica dacă crontab funcționează este prin verificarea fișierelor jurnal. Dacă rulați o lucrare cron, puteți verifica fișierele jurnal pentru a vă asigura că crontab funcționează. Fișierele jurnal pentru jobul cron se pot reflecta numai dacă crontab este activ.

În acest exemplu, am creat un job cron pentru a executa un script în fiecare minut.


Folosind comanda coadă , putem verifica ultimele linii pentru fișierul jurnal. Pe Linux, syslog conține fișierele jurnal pentru serviciul cron.

Observați modul în care fișierele jurnal afișează rezultatul cron în fiecare minut, confirmând că crontab-ul nostru este activ și funcționează.

$ coadă -f / a fost / Buturuga / syslog | prindere „cron”



Cele trei moduri sunt cele mai simple și mai convenabile metode de a verifica dacă crontab funcționează pe sistemul dumneavoastră.

Concluzie

A ști dacă crontab funcționează este o rutină esențială atunci când lucrezi cu joburi cron. Am acoperit trei moduri de a verifica dacă crontab funcționează: utilizarea serviciului cron, verificarea ID-ului procesului și verificarea fișierelor jurnal pentru serviciul cron. Încercați metodele și vedeți care funcționează cel mai bine pentru cazul dvs.