Cron je efektivní a oblíbený nástroj příkazového řádku, který se používá k plánování široké škály úkolů ve stanovenou dobu bez interakce uživatele. Naplánované úlohy se označují jako úlohy cron, zatímco crontab je seznam souborů obsahujících úlohy cron.
V tomto článku vysvětlíme na různých ukázkových ukázkách, že můžete upravovat a používat soubor crontab za účelem plánování úkolů v systému Debian 10.
Cron lze použít k automatizaci úloh v následujících scénářích:
- Probíhá zálohování plánu,
- Kontrola místa na disku v určitém intervalu,
- Probíhá automatická údržba,
- Pravidelně odstraňujte nechtěné soubory,
- Probíhá diagnostika sítě
Syntax
Práce s cronem je snazší, jakmile pochopíte jeho syntaxi. Obecná syntaxe pro použití cron je:
* * * * / cesta / k / skriptu.shKaždé z polí odpovídá následujícímu:
Minuta (0-59) Hodina (0-24) Den_Měsíc (1-7) Měsíc_Rok (1-12)Příkaz Day_of_the_Week (0-6)
Instalace Cronu
Cron je předinstalován v Debianu 10. Pokud však ve vašem systému chybí, nainstalujte jej spuštěním následujícího příkazu:
$ sudo apt nainstalovat cronZobrazit crontab
Chcete-li zobrazit soubor crontab, použijte následující příkaz:
$ crontab -lChcete-li zobrazit soubor crontab konkrétního uživatele, použijte následující příkaz:
$ sudo crontab -u uživatel -lUpravit crontab
Úpravy souboru crontab aktuálního uživatele:
$ crontab -eÚpravy souboru crontab konkrétního uživatele:
$ sudo crontab -u uživatelPokud upravujete soubor crontab poprvé, budete požádáni o výběr editoru:
Jakmile vyberete editor, zobrazí se následující okno.
Například chcete spustit záložní skript s názvem „záloha.sh ”umístěný v adresáři dokumentů každý den ve 2:00. K tomu budete muset do souboru crontab přidat následující řádek:
0 2 * * * / Dokumenty / zálohování.sh
Ve výše uvedeném okně můžete postupně přidávat úlohy cron. Po dokončení uložte a ukončete soubor, poté se všechny úlohy cron automaticky spustí v zadaném intervalu.
Odstraňte crontab
Chcete-li odebrat soubor crontab, zadejte do Terminálu následující příkaz:
$ crontab -rNyní si projdeme řadu příkladů úloh cron na stroji s Linuxem.
1. Spouštějte úlohu cron každou minutu
Chcete-li každou minutu spustit úlohu cron, přidejte do souboru crontab následující řádek:
* * * * * / cesta / k / skriptu.sh2. Spusťte úlohu cron po každých 10 minutách
Chcete-li naplánovat spuštění úlohy cron po každých 10 minutách, přidejte do svého souboru crontab následující řádek.
* / 10 * * * * / cesta / ke / skriptu.sh3. Spusťte úlohu cron v konkrétních měsících
Naplánovat spuštění úlohy cron na konkrétní měsíce e.G. Březen, srpen, prosinec přidejte úlohu cron do svého souboru crontab následujícím způsobem:
* * * jan, may, aug * / path / to / script.sh4. Spustit úlohu cron ve vybrané dny
Pokud chcete, aby byla vaše úloha cron spuštěna ve vybrané dny, předpokládejme neděli a pátek v 17:00, mělo by to vypadat následovně.
0 17 * * slunce, pá / cesta / do / skriptu.sh5. Spusťte úlohu cron denně v určitou dobu
Chcete-li naplánovat spuštění úlohy cron denně v určitou dobu, řekněme ve 3 hodiny ráno, přidejte tento řádek do svého souboru crontab.
0 3 * * * / cesta / ke / skriptu.sh6. Spusťte úlohu cron v konkrétní den
Chcete-li naplánovat spuštění úlohy cron na konkrétní den, řekněme každou neděli, přidejte tento řádek do svého souboru crontab.
0 0 * * SUN / cesta / ke / skriptu.shÚloha bude spuštěna každou neděli v 00:00.
7. Spouštějte více úkolů v jedné úloze cron
Chcete-li naplánovat více úkolů v jedné úloze cron, přidejte všechny skripty do souboru crontab tak, že je oddělíte středníkem.
* * * * * / cesta / do / skriptu1.sh; / cesta / do / skriptu2.sh8. Spusťte úlohu cron každý všední den
Chcete-li naplánovat spuštění úlohy cron na každý den v týdnu, který je od pondělí do pátku, budete muset přidat tento řádek do svého souboru crontab.
0 0 * * 1-5 / cesta / do / skript.shÚloha bude spuštěna každý pracovní den v 00:00.
9. Spusťte úlohu cron dvakrát denně
Naplánovat spuštění úlohy dvakrát denně e.G. v 6:00 a 15:00 budete muset přidat tento řádek do souboru crontab:
0 6,15 * * * / cesta / ke / skriptu.sh10. Spouštějte úlohu cron každou hodinu
Chcete-li naplánovat spuštění úlohy cron každou hodinu v minutě 0, budete muset přidat tento řádek do souboru crontab:
0 * * * * / cesta / ke / skriptu.shNapříklad pokud je aktuální čas 14:00, úloha bude spuštěna ve 15:00, 16:00 atd.
11. Spusťte úlohu cron každé 3 hodiny
Chcete-li naplánovat spuštění úlohy cron po 3 hodinách v minutě 0, budete muset přidat tento řádek do souboru crontab:
0 * / 3 * * * / cesta / ke / skriptu.shNapříklad pokud je aktuální čas 14:00, úloha bude spuštěna v 17:00, 20:00 atd.
12. Spustit úlohu cron v 16:00 první den v měsíci
Chcete-li naplánovat spuštění úlohy první den každého měsíce ve 16:00, budete muset přidat tento řádek do souboru crontab:
0 16 1 * * / cesta / ke / skriptu.shŘetězce v Crontabu
Místo dlouhých opakujících se příkazů můžete také použít následující řetězce.
@ hourly- Spouštění úlohy cron každou hodinu i.E. „0 * * * *“@ půlnoc - Spouštět úlohy cron každý den i.E. „0 0 * * *“
@ denně - stejné jako o půlnoci
@ týdně - spusťte úlohu cron každý týden, tj.E. „0 0 * * 0“
@ měsíčně - spouštět úlohy cron každý měsíc i.E. „0 0 1 * *“
@ ročně - spouštět úlohy cron každý rok i.E. „0 0 1 1 *“
@ ročně - stejné jako @ ročně
@ reboot - Spuštění úlohy cron při každém spuštění
Chcete-li například spustit úlohu cron každý den v první minutě a první hodině, přidejte následující řádek:
@denně / cesta / do / skriptu.shChcete-li například spustit úlohu cron při každém restartu serveru:
@ restart / cesta / do / skriptu.shTo je vše! V tomto článku jsme se naučili automatizovat různé úlohy pomocí systému crontab v systému Debian. Pomocí výše uvedených příkladů můžete naplánovat zahájení jakéhokoli druhu úlohy bez jakékoli interakce uživatele.