Cum să afișați și să listați lucrările Cron folosind Crontab ⋆ ALexHost SRL

Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills
27.12.2024

Cum să afișați și să listați lucrările Cron folosind Crontab

Utilitarul cron din sistemele de operare de tip Unix permite utilizatorilor să programeze sarcini (comenzi sau scripturi) care să ruleze automat la anumite ore sau intervale. Indiferent dacă întrețineți un server sau gestionați sarcini automate pe computerul dvs. local, cron este un instrument esențial atât pentru administratorii de sistem, cât și pentru dezvoltatori.

În acest articol, vom explica cum să afișați și să listați lucrările cron utilizând comanda crontab, ajutându-vă să gestionați eficient sarcinile programate.

Ce este Crontab?

Crontab (prescurtarea de la “cron table”) este un fișier care definește sarcinile programate în sistemul cron. Fiecare utilizator de pe un sistem, inclusiv utilizatorul root, poate avea propriul crontab, care specifică sarcinile pe care dorește să le automatizeze.

Fișierul crontab este format din sarcini cron în următoarea sintaxă:

* * * * * comanda_a_fi_executată
| | | | |
| | | | ----- ziua săptămânii (0 - 7) (duminică=0 sau 7)
| | | ---------- luna (1 - 12)
| | --------------- ziua lunii (1 - 31)
| -------------------- oră (0 - 23)
------------------------- minut (0 - 59)

Această structură permite un control precis asupra momentului în care sunt executate sarcinile, făcând din cron un instrument puternic de automatizare.

Cum să listați lucrările Cron utilizând Crontab

Pentru a gestiona lucrările cron, comanda crontab este utilitarul dvs. de bază. Iată cum să afișați lucrările cron pentru un anumit utilizator sau pentru sistem.

1. Vizualizarea propriilor lucrări cron

Pentru a afișa lucrările cron ale utilizatorului dvs. curent, executați următoarea comandă în terminal:

crontab -l

Aceasta va lista toate sarcinile programate pentru utilizatorul conectat în prezent la sistem. Dacă nu există sarcini cron, comanda va returna o listă goală sau un mesaj care va indica faptul că nu există crontab pentru utilizatorul respectiv.

Exemplu de ieșire:

# comanda m h dom mon dow
0 0 * * * /home/user/backup.sh
30 2 * * 7 /home/user/scripts/cleanup.sh

În acest exemplu:

  • Un script de backup
    (backup.sh
    ) se execută în fiecare zi la miezul nopții.
  • Un script de curățare
    (cleanup.sh
    ) se execută în fiecare duminică la 2:30 AM.

2. Listarea lucrărilor Cron pentru un alt utilizator

Dacă aveți privilegii de root sau sudo, puteți vizualiza lucrările cron pentru orice utilizator utilizând marcajul

-u
urmat de numele de utilizator:

sudo crontab -l -u nume utilizator

Înlocuiți username cu numele de utilizator real al utilizatorului ale cărui cron jobs doriți să le vedeți.

De exemplu, pentru a lista lucrările cron pentru un utilizator numit john, executați:

sudo crontab -l -u john

Aceasta va afișa toate lucrările cron programate pentru utilizatorul respectiv.

3. Listarea lucrărilor cron la nivelul întregului sistem

În plus față de lucrările cron specifice utilizatorilor, există lucrări cron la nivel de sistem care sunt programate de sistem sau de utilizatorul root. Acestea sunt stocate în directoare precum /etc/crontab, /etc/cron.d/ și directorul /var/spool/cron/crontabs.

Pentru a lista lucrările cron la nivelul întregului sistem, puteți deschide și vizualiza fișierul /etc/crontab:

cat /etc/crontab

Rezultatul ar putea arăta astfel:

SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin#
m h dom mon dow user command
17 * * * * root cd / && run-parts –report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.monthly )

În acest exemplu:

  • lucrările
    /etc/cron.hourly
    se execută în minutul 17 al fiecărei ore.
  • lucrările
    /etc/cron.daily
    se execută în fiecare zi la ora 6:25 AM.
  • lucrările
    /etc/cron.weekly
    se execută în fiecare duminică la 6:47 AM.
  • /etc/cron.monthly
    jobs rulează în prima zi a fiecărei luni la ora 6:52 AM.

De asemenea, puteți vizualiza lucrările din /etc/cron.d/ executând:

ls /etc/cron.d/

Fiecare fișier din acest director poate conține sarcini cron suplimentare pentru serviciile de sistem.

4. Listarea lucrărilor Cron în directorul /var/spool/cron/

Lucrările cron specifice utilizatorului sunt stocate de obicei în directorul /var/spool/cron/crontabs. Puteți naviga la acest director și puteți lista toate fișierele de lucrări cron:

ls /var/spool/cron/crontabs

Aceasta va afișa fișierele crontab pentru fiecare utilizator. Pentru a vizualiza conținutul crontab-ului unui anumit utilizator, puteți rula:

cat /var/spool/cron/crontabs/username

Aceasta oferă același rezultat ca și execuția crontab -l -u nume utilizator.

Editarea lucrărilor Cron

Dacă trebuie să modificați sau să adăugați noi cron jobs, vă puteți edita crontab-ul executând:

crontab -e

Aceasta vă deschide crontab în editorul de text implicit, permițându-vă să adăugați sau să modificați lucrările existente.

De exemplu, pentru a adăuga un nou job care rulează un script în fiecare zi la ora 3:00 AM, trebuie să adăugați această linie:

0 3 * * * * /home/user/script.sh

După salvarea și ieșirea din fișier, activitatea va fi programată imediat.

Comenzi comune de listare Crontab

Iată o referință rapidă pentru listarea lucrărilor cron în diferite scenarii:

  • Listați lucrările cron ale utilizatorului curent:
    crontab -l
  • Listați lucrările cron ale altui utilizator (necesită sudo):
    sudo crontab -l -u nume utilizator
  • Listați lucrările cron la nivelul întregului sistem:
    cat /etc/crontab
  • Listați toate lucrările cron din
    /etc/cron.d/
    :
    ls /etc/cron.d/
  • Vizualizați lucrările cron stocate în
    /var/spool/cron/crontabs/
    :
    ls /var/spool/cron/crontabs

Concluzie

Listarea și afișarea lucrărilor cron utilizând crontab reprezintă o modalitate simplă, dar puternică de gestionare a sarcinilor programate într-un sistem de tip Unix. Fie că vă gestionați propriile sarcini cron specifice utilizatorului sau sarcini automatizate la nivelul întregului sistem, înțelegerea acestor comenzi vă ajută să vă asigurați că sarcinile dvs. se desfășoară fără probleme și la timp.

Prin stăpânirea cron, puteți automatiza sarcini repetitive, puteți menține copii de siguranță și vă puteți asigura că scripturile dvs. se execută în mod consecvent în întregul mediu.

Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills