The crontab je seznam ukazov, ki jih želite izvajati po rednem urniku, in tudi ime ukaza, ki se uporablja za upravljanje tega seznama. Crontab pomeni tabelo cron, ker za izvajanje nalog uporablja načrtovalnik opravil cron; kron sam je poimenovan po chronos, grški besedi za čas. cron je sistemski proces, ki bo samodejno izvajal naloge namesto vas po nastavljenem urniku. Razpored se imenuje crontab, kar je tudi ime programa, ki se uporablja za urejanje tega razporeda.
Sintaksa Linux Crontab
Format Linux Crontab je predstavljen z naslednjo sintakso:
MIN HOUR DOM MON DOW CMD>
Razčlenimo vsako polje:
| Polje | Opis | Dovoljena vrednost |
|---|---|---|
| MIN (minuta) | Podaja minuto, ko se ukaz izvede | Razpon je od 0 do 59. |
| URA | Označuje uro v dnevu, ko je ukaz načrtovan za izvedbo. | Obsega od 0 do 23. |
| DOM (dan v mesecu) | Določa dan v mesecu za opravilo. | Razpon je od 1 do 31. |
| MON (mesec) | Označuje mesec, v katerem bo ukaz izvršen. | Razlikuje se od 1 do 12. |
| DOW (dan v tednu) | Določa dan v tednu za opravilo. | Predstavljajo ga številke od 0 do 6, kjer tako 0 kot 6 ustrezata nedelji. |
| CMD (ukaz) | Predstavlja dejanski ukaz ali skript, ki se bo zagnal ob načrtovanem času. | —————– |
Primeri opravil Cron
1. Načrtovanje dela za določen čas
Osnovna uporaba crona je izvedba opravila v določenem času, kot je prikazano spodaj. To bo 10. junija ob 08:30 izvedlo lupinski skript polne varnostne kopije (polna varnostna kopija). Časovno polje uporablja 24-urni format. Torej, za 8 zjutraj uporabite 8, za 20 zvečer pa 20.
30 08 10 06 * /home/maverick/full-backup>
30 – 30. minuta 08 – 08 zjutraj 10 – 10. dan 06 – 6. mesec (junij) * – vsak dan v tednu
2. Za ogled vnosov v Crontab
- Ogled vnosov trenutnega prijavljenega uporabnika v Crontab: Če si želite ogledati svoje vnose v crontab, vnesite crontab -l iz svojega računa za Unix.

- Oglejte si korenske vnose v Crontab: Prijavite se kot korenski uporabnik (su – root) in naredite crontab -l.

- Za ogled vnosov v crontab drugih uporabnikov Linuxa: Prijavite se kot root in uporabite -u {uporabniško ime} -l.

3. Za urejanje vnosov Crontab Uredite vnose trenutnega prijavljenega uporabnika v Crontab.
Za urejanje vnosov v crontab uporabite crontab -e. Privzeto bo to uredilo crontab trenutno prijavljenih uporabnikov. 
4. Za načrtovanje opravila za vsako minuto z uporabo programa Cron.
V idealnem primeru morda ne boste morali načrtovati dela vsako minuto. Toda razumevanje tega primera vam bo pomagalo razumeti druge primere.
* * * * * CMD>
* pomeni vse možne enote — tj. vsako minuto in vsako uro skozi vse leto. Bolj kot neposredno uporabo te *, se vam bo zdela zelo uporabna v naslednjih primerih. Ko podate */5 v polju za minute, pomeni vsakih 5 minut. Ko podate 0-10/2 v minutnem polju, to pomeni vsaki 2 minuti v prvih 10 minutah. Tako se lahko zgornja konvencija uporablja za vsa ostala 4 polja.
5. Načrtovanje opravila za več kot enkrat (npr. dvakrat na dan)
Naslednji skript naredi inkrementalno varnostno kopijo dvakrat na dan vsak dan. Ta primer izvede določen lupinski skript inkrementalne varnostne kopije (inkrementalna varnostna kopija) vsak dan ob 11:00 in 16:00. Vrednost v polju, ločena z vejico, določa, da mora biti ukaz izveden v vsem navedenem času.
00 11, 16 * * * /home/maverick/bin/incremental-backup>
00 – 0. minuta (na vrhu ure) 11, 16 – 11 dopoldne in 16 popoldne * – vsak dan * – vsak mesec * – vsak dan v tednu
6. Načrtovanje službe za določen čas (npr. samo ob delavnikih)
Če želite, da je opravilo načrtovano za vsako uro v določenem časovnem razponu, uporabite naslednje.
- Cron Job vsak dan med delovnim časom : Ta primer preverja stanje baze podatkov vsak dan (vključno z vikendi) med delovnim časom od 9.00 do 18.00.
00 09-18 * * * /home/maverick/bin/check-db-status>
- 00 – 0. minuta (na vrhu ure) 09-18 – 9.00, 10.00, 11.00, 12.00, 13.00, 14.00, 15.00, 16.00, 17.00, 18.00 * – Vsak dan * – Vsak mesec * – vsak dan v tednu
- Cron Job vsak delovni dan med delovnim časom : Ta primer preveri stanje baze podatkov vsak delovni dan (tj. razen sobote in nedelje) med delovnim časom od 9. do 18. ure.
00 09-18 * * 1-5 /home/maverick/bin/check-db-status>
- 00 – 0. minuta (na vrhu ure) 09-18 – 9.00, 10.00, 11.00, 12.00, 13.00, 14.00, 15.00, 16.00, 17.00, 18.00 * – Vsak dan * – Vsak mesec 1-5 -pon, tor, sre, čet in pet (vsak delovnik)
7. Za načrtovanje opravila Cron v ozadju vsakih 10 minut.
Uporabite naslednje, če želite preveriti prostor na disku vsakih 10 minut.
misija nemogoče vsi filmi
*/10 * * * * /home/maverick/check-disk-space>
Izvede določen ukaz check-disk-space vsakih 10 minut skozi vse leto. Toda morda boste morali ukaz izvajati samo ob določenih urah ali obratno. Zgornji primeri prikazujejo, kako narediti te stvari. Namesto podajanja vrednosti v 5 poljih, jih lahko podamo z eno samo ključno besedo, kot je navedeno spodaj. Obstajajo posebni primeri, v katerih lahko namesto zgornjih 5 polj uporabite @, ki mu sledi ključna beseda — na primer ponovni zagon, polnoč, letno, urno. Cron posebne ključne besede in njihov pomen
Keyword Equivalent @yearly 0 0 1 1 * @daily 0 0 * * * @hourly 0 * * * * @reboot Run at startup.>
8. Za načrtovanje opravila za prvo minuto vsakega leta z @yearly
Če želite, da se opravilo izvede prvo minuto vsakega leta, lahko uporabite ključno besedo @yearly cron, kot je prikazano spodaj. To bo izvedlo letno vzdrževanje sistema z lupinskim skriptom letnega vzdrževanja ob 00:00 1. januarja za vsako leto.
@yearly /home/maverick/bin/annual-maintenance>
9. Za načrtovanje opravila Cron na začetku vsakega meseca z uporabo @monthly
Podoben je @yearly kot zgoraj. Vendar izvede ukaz vsak mesec enkrat s ključno besedo @monthly cron. To bo izvedlo lupinsko skriptno varnostno kopiranje na trak ob 00:00 1. vsakega meseca.
@monthly /home/maverick/bin/tape-backup>
10. Če želite vsak dan načrtovati opravilo v ozadju z @daily
Z uporabo ključne besede @daily cron bo to opravilo dnevno čiščenje dnevniške datoteke s skriptom lupine cleanup-logs vsak dan ob 00:00.
@daily /home/maverick/bin/cleanup-logs 'day started'>
11. Za izvedbo ukaza linux po vsakem ponovnem zagonu z uporabo @reboot
Z uporabo ključne besede @reboot cron bo to izvršilo podani ukaz enkrat po vsakem zagonu stroja.
@reboot CMD>


