crontab

Crontab v systéme Linux

Crontab v systéme Linux
S príchodom nových technológií požadujeme automatizáciu všetkého vrátane našich počítačových systémov. Napríklad ako správca systému môžeme chcieť, aby sa naša záloha spúšťala každú noc o 2:00. Potom, čo je účelom počítačov, ak sa musíme zobúdzať každý deň o 2:00 a spúšťať príkazy ručne, aby sa spustilo zálohovanie. Mal by existovať spôsob, ktorý systému povie, aby automaticky spustil zálohu v konkrétny čas. Našťastie operačný systém Linux ponúka nástroj cron, ktorý umožňuje automatizovať úlohy v konkrétnom období.

Cron je efektívny a populárny nástroj príkazového riadku, ktorý sa používa na plánovanie širokej škály úloh v stanovenom čase bez interakcie používateľa. Naplánované úlohy sú známe ako úlohy cron, zatiaľ čo crontab je zoznam súborov obsahujúcich úlohy cron.

V tomto článku vysvetlíme rôzne ukážky, ktoré vám umožňujú upravovať a používať súbor crontab na plánovanie úloh v systéme Debian 10.

Cron možno použiť na automatizáciu úloh v nasledujúcich scenároch:

Syntax

S cronom je jednoduchšie pracovať, ak pochopíte jeho syntax. Všeobecná syntax na použitie cron je:

* * * * / cesta / k / skriptu.š

Každé z polí zodpovedá nasledujúcemu:

Minúta (0-59) Hodina (0-24) Deň_Mesiaca (1-7) Mesiac_roku (1-12)
Príkaz Day_of_the_Week (0-6)

Inštaluje sa Cron

Cron je predinštalovaný v Debiane 10. Ak však vo vašom systéme chýba, nainštalujte ho spustením nasledujúceho príkazu:

$ sudo apt nainštalovať cron

Zobraziť crontab

Ak chcete zobraziť súbor crontab, použite nasledujúci príkaz:

$ crontab -l

Ak chcete zobraziť súbor crontab konkrétneho používateľa, použite nasledujúci príkaz:

$ sudo crontab -u užívateľ -l

Upraviť crontab

Úprava súboru crontab aktuálneho používateľa:

$ crontab -e

Úprava súboru crontab konkrétneho používateľa:

$ sudo crontab -u užívateľ

Ak upravujete súbor crontab prvýkrát, zobrazí sa výzva na výber editora:

Po výbere editora sa zobrazí nasledujúce okno.

Napríklad chcete spustiť záložný skript s názvom „zálohovanie“.sh “, ktorý sa nachádza v adresári dokumentov každý deň o 2:00. Ak to chcete urobiť, budete musieť do súboru crontab pridať nasledujúci riadok:

0 2 * * * / Dokumenty / zálohovanie.š

Vo vyššie uvedenom okne môžete po jednom pridávať svoje úlohy cron. Po dokončení súbor uložte a ukončite. Potom sa všetky úlohy cron automaticky spustia v zadanom intervale.

Odstráňte crontab

Ak chcete odstrániť súbor crontab, zadajte do terminálu nasledujúci príkaz:

$ crontab -r

Teraz si ukážeme rad príkladov úloh cron na stroji s Linuxom.

1. Spustite úlohu cron každú minútu

Ak chcete vykonať úlohu cron každú minútu, pridajte do svojho súboru crontab nasledujúci riadok:

* * * * * / cesta / k / skriptu.š

2. Spustite úlohu cron každých 10 minút

Ak chcete naplánovať vykonávanie úlohy cron po každých 10 minútach, pridajte do svojho súboru crontab nasledujúci riadok.

* / 10 * * * * / cesta / k / skriptu.š

3. Spustite úlohu cron v konkrétnych mesiacoch

Naplánovať vykonanie úlohy cron na konkrétne mesiace e.g. Marec, august, december, pridajte úlohu cron do svojho súboru crontab nasledujúcim spôsobom:

* * * jan, may, aug * / path / to / script.š

4. Spustite úlohu cron vo vybrané dni

Ak chcete, aby sa vaša úloha cron vykonávala vo vybrané dni, predpokladajme nedeľu a piatok o 17:00, malo by to vyzerať takto.

0 17 * * slnko, pá / cesta / do / skript.š

5. Spustite úlohu cron každý deň v konkrétny čas

Ak chcete naplánovať vykonávanie úlohy cron každý deň v konkrétny čas, povedzme o 3:00, pridajte tento riadok do svojho súboru crontab.

0 3 * * * / cesta / k / skriptu.š

6. Spustite úlohu cron v konkrétny deň

Ak chcete naplánovať vykonanie úlohy cron na konkrétny deň, povedzme každú nedeľu, pridajte tento riadok do svojho súboru crontab.

0 0 * * SUN / cesta / do / skript.š

Úloha bude prebiehať každú nedeľu o 00:00.

7. Spustite viac úloh v jednej úlohe cron

Ak chcete naplánovať viac úloh v jednej úlohe cron, pridajte všetky skripty do súboru crontab ich oddelením bodkočiarkou.

* * * * * / cesta / k / skriptu1.sh; / cesta / do / skript2.š

8. Spustite úlohu cron ďalej každý všedný deň

Ak chcete naplánovať vykonanie úlohy cron na každý deň v týždni, ktorý je od pondelka do piatku, budete musieť pridať tento riadok do svojho súboru crontab.

0 0 * * 1-5 / cesta / do / skript.š

Úloha bude prebiehať každý pracovný deň o 00:00.

9. Spustite úlohu cron dvakrát denne

Naplánovať prácu tak, aby fungovala dvakrát denne, e.g. o 6:00 a 15:00 budete musieť do svojho súboru crontab pridať tento riadok:

0 6,15 * * * / cesta / k / skriptu.š

10. Spustite úlohu cron každú hodinu

Ak chcete naplánovať vykonanie úlohy cron na každú hodinu v minúte 0, musíte do svojho súboru crontab pridať tento riadok:

0 * * * * / cesta / k / skriptu.š

Napríklad, ak je aktuálny čas 14:00, úloha bude bežať o 15:00, 16:00 atď.

11. Spustite úlohu cron každé 3 hodiny

Ak chcete naplánovať spustenie úlohy cron na každé 3 hodiny v minúte 0, musíte do svojho súboru crontab pridať tento riadok:

0 * / 3 * * * / cesta / k / skriptu.š

Napríklad, ak je aktuálny čas 14:00, úloha bude bežať o 17:00, 20:00 atď.

12. Prvý deň v mesiaci spustite úlohu cron o 16:00

Ak chcete naplánovať spustenie úlohy prvý deň v mesiaci o 16:00, budete musieť do svojho súboru crontab pridať tento riadok:

0 16 1 * * / cesta / k / skriptu.š

Struny v Crontabu

Namiesto dlhých opakujúcich sa príkazov môžete tiež použiť nasledujúce reťazce.

@ hourly- Spustiť úlohu cron každú hodinu i.e. „0 * * * *“
@ polnoc - Spustite úlohu cron každý deň i.e. „0 0 * * *“
@ denne- rovnako ako o polnoci
@ týždenne - Spustite úlohu cron každý týždeň, t.j.e. „0 0 * * 0“
@ month- Spustite úlohu cron každý mesiac i.e. „0 0 1 * *“
@ ročne - každý rok spustite úlohu cron, i.e. „0 0 1 1 *“
@ ročne- rovnaké ako @ ročne
@ reboot- Spustenie úlohy cron pri každom zavedení

Napríklad ak chcete spustiť úlohu cron každý deň v prvej minúte a prvej hodine, pridajte nasledujúci riadok:

@denne / cesta / do / skript.š

Napríklad na spustenie úlohy cron pri každom reštarte servera:

@ reštart / cesta / do / skript.š

To je všetko! V tomto článku sme sa naučili automatizovať rôzne úlohy pomocou systému crontab v systéme Debian. Použitím vyššie uvedených príkladov môžete naplánovať zahájenie ľubovoľného druhu úlohy bez akejkoľvek interakcie používateľa.

Hry Najlepšie linuxové distribúcie pre hry v roku 2021
Najlepšie linuxové distribúcie pre hry v roku 2021
Operačný systém Linux prešiel dlhou cestou od svojho originálneho, jednoduchého serverového vzhľadu. Tento OS sa za posledné roky nesmierne vylepšil a...
Hry Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
V minulosti sa hranie hier považovalo iba za hobby, ale časom došlo v hernom priemysle k obrovskému nárastu z hľadiska technológie i počtu hráčov. Her...
Hry Najlepšie hry na hranie s ručným sledovaním
Najlepšie hry na hranie s ručným sledovaním
Oculus Quest nedávno predstavil skvelú myšlienku ručného sledovania bez ovládačov. Vďaka stále sa zvyšujúcemu počtu hier a aktivít, ktoré vykonávajú p...