The crontab este o listă de comenzi pe care doriți să le executați într-un program regulat și, de asemenea, numele comenzii utilizate pentru a gestiona lista respectivă. Crontab reprezintă tabelul cron, deoarece folosește programatorul de joburi cron pentru a executa sarcini; cron însuși este numit după chronos, cuvântul grecesc pentru timp. cron este procesul de sistem care va efectua automat sarcini pentru dvs. conform unui program stabilit. Programul se numește crontab, care este și numele programului folosit pentru a edita acel program.
Sintaxa Linux Crontab
Formatul Linux Crontab este reprezentat de următoarea sintaxă:
MIN HOUR DOM MON DOW CMD>
Să defalcăm fiecare câmp:
| Camp | Descriere | Valoare permisă |
|---|---|---|
| MIN (minut) | Specifică momentul în care va rula comanda | Acesta variază de la 0 la 59. |
| ORA | Indică ora din zi în care comanda este programată să fie executată. | Se întinde de la 0 la 23. |
| DOM (Ziua lunii) | Specifică ziua lunii pentru sarcină. | Acesta variază de la 1 la 31. |
| LUN (lună) | Indică luna în care va fi executată comanda. | Acesta variază de la 1 la 12. |
| DOW (Ziua săptămânii) | Specifică ziua săptămânii pentru sarcină. | Este reprezentată de numere de la 0 la 6, unde atât 0, cât și 6 corespund duminicii. |
| CMD (comandă) | Reprezintă comanda reală sau scriptul care va rula la ora programată. | —————— |
Exemple de locuri de muncă Cron
1. Programarea unui loc de muncă pentru o perioadă specifică
Utilizarea de bază a cron este de a executa un job într-un anumit timp, așa cum se arată mai jos. Aceasta va executa scriptul shell de backup complet (backup complet) pe 10 iunie, ora 08:30. Câmpul de timp folosește formatul de 24 de ore. Deci, pentru ora 8:00 folosiți 8, iar pentru ora 20:00 folosiți 20.
30 08 10 06 * /home/maverick/full-backup>
30 – al 30-lea minut 08 – 08:00 10 – a 10-a zi 06 – a 6-a lună (iunie) * – În fiecare zi a săptămânii
2. Pentru a vizualiza intrările Crontab
- Vizualizați intrările Crontab ale utilizatorului conectat curent: pentru a vizualiza intrările crontab, tastați crontab -l din contul dvs. Unix.

- Vizualizați intrările Root Crontab: Conectați-vă ca utilizator root (su – root) și faceți crontab -l.

- Pentru a vizualiza intrările crontab ale altor utilizatori Linux: Conectați-vă la root și utilizați -u {username} -l.

3. Pentru a edita intrările Crontab Editați intrările Crontab ale utilizatorului conectat curent.
Pentru a edita intrările unui crontab, utilizați crontab -e. În mod implicit, aceasta va edita crontab utilizatorilor conectați curent. 
4. Pentru a programa o lucrare pentru fiecare minut folosind Cron.
În mod ideal, este posibil să nu aveți o cerință de a programa o lucrare în fiecare minut. Dar înțelegerea acestui exemplu vă va ajuta să înțelegeți celelalte exemple.
* * * * * CMD>
* înseamnă toată unitatea posibilă, adică fiecare minut din fiecare oră de-a lungul anului. Mai mult decât să folosești acest * direct, îl vei găsi foarte util în următoarele cazuri. Când specificați */5 în câmpul minute înseamnă la fiecare 5 minute. Când specificați 0-10/2 în câmpul minutelor, înseamnă fiecare 2 minute în primele 10 minute. Astfel convenția de mai sus poate fi utilizată pentru toate celelalte 4 câmpuri.
5. Pentru a programa o lucrare de mai multe ori (de exemplu, de două ori pe zi)
Următorul script face o copie de rezervă incrementală de două ori pe zi în fiecare zi. Acest exemplu execută scriptul shell de backup incremental specificat (copie de rezervă incrementală) la 11:00 și 16:00 în fiecare zi. Valoarea separată prin virgulă dintr-un câmp specifică faptul că comanda trebuie să fie executată în tot timpul menționat.
00 11, 16 * * * /home/maverick/bin/incremental-backup>
00 – al 0-lea minut (partea de sus a orei) 11, 16 – 11:00 și 16:00 * – În fiecare zi * – În fiecare lună * – În fiecare zi a săptămânii
6. Pentru a programa o lucrare pentru un anumit interval de timp (de exemplu, numai în zilele săptămânii)
Dacă doriți ca un loc de muncă să fie programat pentru fiecare oră într-un interval de timp specific, atunci utilizați următoarele.
- Cron Job zilnic în timpul orelor de lucru: Acest exemplu verifică starea bazei de date în fiecare zi (inclusiv în weekend) în timpul orelor de lucru 9 a.m – 6 p.m
00 09-18 * * * /home/maverick/bin/check-db-status>
- 00 – al 0-lea minut (Vârful orei) 09-18 – 9:00, 10:00, 11:00, 12:00, 13:00, 14:00, 15:00, 16:00, 17:00, 18:00 * – În fiecare zi * – În fiecare luna * – În fiecare zi a săptămânii
- Cron Job în fiecare zi a săptămânii în timpul orelor de lucru: Acest exemplu verifică starea bazei de date în fiecare zi a săptămânii (adică, excluzând sâmbătă și duminică) în timpul orelor de lucru 9 a.m. – 6 p.m.
00 09-18 * * 1-5 /home/maverick/bin/check-db-status>
- 00 – al 0-lea minut (Vârful orei) 09-18 – 9:00, 10:00, 11:00, 12:00, 13:00, 14:00, 15:00, 16:00, 17:00, 18:00 * – În fiecare zi * – În fiecare luna 1-5 - luni, marți, miercuri, joi și vineri (în fiecare zi a săptămânii)
7. Pentru a programa o lucrare Cron de fundal la fiecare 10 minute.
Utilizați următoarele, dacă doriți să verificați spațiul pe disc la fiecare 10 minute.
module cu arc
*/10 * * * * /home/maverick/check-disk-space>
Execută comanda specificată check-disk-space la fiecare 10 minute pe parcursul anului. Dar este posibil să aveți o cerință de a executa comanda numai în anumite ore sau invers. Exemplele de mai sus arată cum să faceți aceste lucruri. În loc să specificăm valori în cele 5 câmpuri, le putem specifica folosind un singur cuvânt cheie, așa cum este menționat mai jos. Există cazuri speciale în care în loc de cele 5 câmpuri de mai sus puteți folosi @ urmat de un cuvânt cheie - cum ar fi repornire, miezul nopții, anual, orar. Cuvinte cheie speciale Cron și semnificația lor
Keyword Equivalent @yearly 0 0 1 1 * @daily 0 0 * * * @hourly 0 * * * * @reboot Run at startup.>
8. Pentru a programa o lucrare pentru primul minut al fiecărui an folosind @yearly
Dacă doriți ca o lucrare să fie executată în primul minut al fiecărui an, atunci puteți utiliza cuvântul cheie @yearly cron, așa cum se arată mai jos. Acest lucru va executa întreținerea anuală a sistemului folosind scriptul shell de întreținere anuală la 00:00 pe 1 ianuarie pentru in fiecare an.
@yearly /home/maverick/bin/annual-maintenance>
9. Pentru a programa o lucrare Cron la începutul fiecărei luni utilizând @monthly
Este la fel de similar cu @yearly ca mai sus. Dar execută comanda lunar o dată folosind cuvântul cheie cron @monthly. Acest lucru va executa scriptul shell-backup pe bandă la 00:00 pe data de 1 a fiecărei luni.
@monthly /home/maverick/bin/tape-backup>
10. Pentru a programa o lucrare de fundal în fiecare zi folosind @daily
Folosind cuvântul cheie @daily cron, aceasta va face o curățare zilnică a fișierului jurnal folosind scriptul shell-up-logs la ora 00:00 în fiecare zi.
@daily /home/maverick/bin/cleanup-logs 'day started'>
11. Pentru a executa o comandă Linux după fiecare repornire folosind @reboot
Folosind cuvântul cheie @reboot cron, aceasta va executa comanda specificată o dată după ce mașina a fost pornită de fiecare dată.
@reboot CMD>


