The crontab je zoznam príkazov, ktoré chcete spúšťať podľa pravidelného plánu, a tiež názov príkazu, ktorý sa používa na správu tohto zoznamu. Crontab je skratka pre cron table, pretože na vykonávanie úloh používa cron plánovača úloh; cron sám je pomenovaný podľa chronos, gréckeho slova pre čas. cron je systémový proces, ktorý za vás automaticky vykoná úlohy podľa nastaveného plánu. Plán sa nazýva crontab, čo je tiež názov programu, ktorý sa používa na úpravu tohto plánu.
Linuxová syntax Crontab
Formát Linux Crontab je reprezentovaný nasledujúcou syntaxou:
MIN HOUR DOM MON DOW CMD>
Rozoberme si každé pole:
| Lúka | Popis | Povolená hodnota |
|---|---|---|
| MIN (minúta) | Určuje minútu, kedy sa príkaz spustí | Pohybuje sa od 0 do 59. |
| HODINA | Označuje hodinu dňa, kedy je naplánované vykonanie príkazu. | Pohybuje sa od 0 do 23. |
| DOM (deň mesiaca) | Určuje deň v mesiaci pre úlohu. | Pohybuje sa od 1 do 31. |
| PO (mesiac) | Označuje mesiac, počas ktorého bude príkaz vykonaný. | Pohybuje sa od 1 do 12. |
| DOW (Deň týždňa) | Určuje deň v týždni pre úlohu. | Je reprezentovaný číslami od 0 do 6, kde 0 aj 6 zodpovedajú nedeli. |
| CMD (príkaz) | Predstavuje skutočný príkaz alebo skript, ktorý sa spustí v naplánovanom čase. | —————— |
Príklady úloh Cron
1. Plánovanie úlohy na konkrétny čas
Základné použitie cronu je vykonať úlohu v konkrétnom čase, ako je uvedené nižšie. Toto spustí skript Úplná záloha (úplná záloha) 10. júna 08:30. Časové pole používa 24-hodinový formát. Takže na 8:00 použite 8 a na 20:00 použite 20.
30 08 10 06 * /home/maverick/full-backup>
30 – 30 minúta 08 – 08:00 10 – 10 deň 6. – 6. mesiac (jún) * – Každý deň v týždni
2. Ak chcete zobraziť položky Crontab
- Zobraziť položky Crontab aktuálneho prihláseného používateľa: Ak chcete zobraziť položky Crontab, zadajte crontab -l z vášho unixového účtu.

- Zobraziť položky Root Crontab: Prihláste sa ako používateľ root (su – root) a vykonajte crontab -l.

- Ak chcete zobraziť položky crontab iných používateľov systému Linux: Prihláste sa do root a použite -u {meno používateľa} -l.

3. Ak chcete upraviť položky Crontab Upravte položky Crontab aktuálneho prihláseného používateľa.
Ak chcete upraviť položky crontab, použite crontab -e. Štandardne sa tým upraví crontab aktuálne prihlásených používateľov. 
4. Naplánovanie úlohy na každú minútu pomocou Cron.
V ideálnom prípade nemusíte mať požiadavku naplánovať prácu každú minútu. Ale pochopenie tohto príkladu vám pomôže pochopiť ostatné príklady.
* * * * * CMD>
* znamená všetky možné jednotky – t.j. každú minútu v každej hodine počas celého roka. Viac ako priame používanie tohto * sa vám bude hodiť v nasledujúcich prípadoch. Keď zadáte */5 v poli minút, znamená to každých 5 minút. Keď zadáte 0-10/2 v poli minút, znamená to každé 2 minúty počas prvých 10 minút. Vyššie uvedená konvencia sa teda môže použiť pre všetky ostatné 4 polia.
5. Ak chcete naplánovať úlohu na viac ako jeden čas (napr. dvakrát denne)
Nasledujúci skript robí prírastkovú zálohu dvakrát denne každý deň. V tomto príklade sa každý deň o 11:00 a 16:00 spustí zadaný skript shellu prírastkovej zálohy (prírastková záloha). Hodnota oddelená čiarkou v poli určuje, že príkaz musí byť vykonaný počas celého uvedeného času.
00 11, 16 * * * /home/maverick/bin/incremental-backup>
00 – 0. minúta (najvyššia hodina) 11, 16 – 11 a 16:00 * – Každý deň * – Každý mesiac * – Každý deň v týždni
6. Naplánovanie úlohy na určitý časový úsek (napr. iba v pracovné dni)
Ak chcete, aby bola úloha naplánovaná na každú hodinu v určitom časovom rozmedzí, použite nasledujúce.
- Cron Job každý deň počas pracovnej doby: Tento príklad kontroluje stav databázy každý deň (vrátane víkendov) počas pracovnej doby od 9:00 do 18:00
00 09-18 * * * /home/maverick/bin/check-db-status>
- 00 – 0. minúta (najvyššia hodina) 09 – 18 – 9:00, 10:00, 11:00, 12:00, 13:00, 14:00, 15:00, 16:00, 17:00, 18:00 * – Každý deň * – Každý mesiac * – Každý deň v týždni
- Cron Job každý pracovný deň počas pracovnej doby : Tento príklad kontroluje stav databázy každý pracovný deň (t. j. okrem So a Ne) počas pracovnej doby od 9:00 do 18:00.
00 09-18 * * 1-5 /home/maverick/bin/check-db-status>
- 00 – 0. minúta (najvyššia hodina) 09 – 18 – 9:00, 10:00, 11:00, 12:00, 13:00, 14:00, 15:00, 16:00, 17:00, 18:00 * – Každý deň * – Každý mesiac 1-5 -Po, Ut, Stred, Štvrtok a Pia (každý pracovný deň)
7. Ak chcete naplánovať úlohu Cron na pozadí na každých 10 minút.
Ak chcete kontrolovať miesto na disku každých 10 minút, použite nasledujúce.
typy binárnych stromov
*/10 * * * * /home/maverick/check-disk-space>
Vykonáva zadaný príkaz check-disk-space každých 10 minút počas celého roka. Môžete však mať požiadavku na vykonanie príkazu iba počas určitých hodín alebo naopak. Vyššie uvedené príklady ukazujú, ako sa to robí. Namiesto zadávania hodnôt do 5 polí ich môžeme zadať pomocou jedného kľúčového slova, ako je uvedené nižšie. Existujú špeciálne prípady, v ktorých namiesto vyššie uvedených 5 polí môžete použiť @ nasledované kľúčovým slovom – napríklad reštart, polnoc, ročne, každú hodinu. Špeciálne kľúčové slová Cron a ich význam
Keyword Equivalent @yearly 0 0 1 1 * @daily 0 0 * * * @hourly 0 * * * * @reboot Run at startup.>
8. Naplánovanie úlohy na prvú minútu každého roka pomocou @yearly
Ak chcete, aby sa úloha vykonala v prvú minútu každého roka, môžete použiť kľúčové slovo @yearly cron, ako je uvedené nižšie. Tým sa vykoná ročná údržba systému pomocou skriptu shellu ročnej údržby o 00:00 dňa 1. januára pre každý rok.
@yearly /home/maverick/bin/annual-maintenance>
9. Naplánovanie úlohy Cron na začiatok každého mesiaca pomocou @monthly
Je to podobné ako @ročné ako vyššie. Príkaz však vykoná raz mesačne pomocou kľúčového slova @monthly cron. Toto vykoná zálohovanie skriptu shellu o 00:00 1. každého mesiaca.
@monthly /home/maverick/bin/tape-backup>
10. Ak chcete naplánovať úlohu na pozadí každý deň pomocou @daily
Pomocou kľúčového slova @daily cron sa vykoná denné čistenie súboru denníka pomocou skriptu shellu cleanup-logs každý deň o 00:00.
@daily /home/maverick/bin/cleanup-logs 'day started'>
11. Na vykonanie linuxového príkazu po každom reštarte pomocou @reboot
Pomocou kľúčového slova @reboot cron to vykoná zadaný príkaz raz po každom spustení počítača.
@reboot CMD>


