Úvod
Démon Cron je linuxový nástroj používaný k plánování systémových úloh a procesů. K ukládání a čtení naplánovaných úloh používá cron tabulky (crontab).
Tento výukový program se bude zabývat tím, jak můžete použít crontab k plánování úloh, které mají být spuštěny při restartu systému.
Předpoklady
- Systém se systémem Linux
- Přístup k příkazovému řádku/oknu terminálu
- Uživatelský účet s oprávněními root nebo sudo
Přehled příkazů Crontab
Pomocí crontab
máte plnou kontrolu nad tím, kdy a jak jsou úlohy prováděny. Použijte crontab
nastavit čas provádění úlohy na minutu, aniž by bylo nutné v úloze opakovat smyčku a načasovat logiku.
crontab
má nízké požadavky na prostředky, protože si nerezervuje systémovou paměť, když není spuštěn.
Crontab při spouštění:Spuštění úlohy cronu při spouštění
Otevřete seznam úloh cron pomocí následujícího příkazu:
crontab -e
Pokud máte nainstalovaných více textových editorů, systém vás vyzve k výběru editoru, kterým chcete aktualizovat seznam úloh cron. Pomocí čísla v závorce vyberte preferovanou možnost. Budeme používat výchozí možnost, Nano.
Chcete-li spustit úlohu cron při každém spouštění systému, přidejte řetězec nazvaný @reboot
na konec seznamu úkolů. Úloha definovaná tímto řetězcem se spustí při spuštění, ihned po restartu Linuxu.
Při přidávání @reboot
použijte následující syntaxi řetězec:
@reboot [path to command] [argument1] [argument2] … [argument n]
@reboot [part to shell script]
Stiskněte Control + X
ukončete Nano a poté Y
a Enter
uložit všechny provedené změny.
Například pokud bychom chtěli mít systémové datum zapsané v souboru s názvem date.txt když se Linux restartuje, přidáme následující řetězec:
@reboot date >> ~/date.txt
Pokud bychom chtěli spustit záložní shell při restartu, přidali bychom:
@reboot /root/backup.sh
Spusťte úlohu Cron při spouštění se zpožděním
Chcete-li spustit úlohu se zpožděním po restartování systému, použijte příkaz sleep při přidávání @reboot
řetězec:
@reboot sleep [time in seconds] && [path to job]
Pokud chcete vytvořit textový soubor se systémovým datem pět minut po restartu, přidejte:
@reboot sleep 300 && date >> ~/date.txt
Odstranění příkazu k restartování
Každý @reboot
řetězec, který přidáte do seznamu úloh cron, spustí úlohu při každém restartu Linuxu. Pokud již nechcete spouštět úlohu, odeberte ji ze seznamu úloh.
Chcete-li to provést, otevřete seznam úkolů pomocí crontab -e
příkaz. Přejděte dolů a zkontrolujte úlohy, které jste přidali.
Chcete-li odebrat úkol ze seznamu, odstraňte příslušný řádek z příslušného řetězce. Stiskněte Control + X
ukončete Nano a poté Y
a Enter
pro uložení změn.