Jak naplánovat spuštění crontab při spouštění systému
Systémy Linux a Unix jsou dodávány s předinstalovaným cron utility, plánovač úloh, který usnadňuje plánování úloh v souboru crontab. Stejný nástroj je k dispozici pro macOS. Syntaxe pro plánování úloh v daných intervalech je uvedena níže:
Min. hodina Den v měsíci Měsíc Den v týdnu [ příkaz ]Můžete například použít následující příkaz, pokud potřebujete spouštět zálohovací skript každých 20 minut od 15:00. do 16:00 hodin denně.
*/ dvacet patnáct - 16 * * * / cesta / na / backup.sh
Předchozí příkaz funguje, když potřebujete provést úlohu v určitou dobu, ale co když potřebujete, aby se stejný příkaz spouštěl po každém spuštění?
Chcete-li nastavit stejný příkaz, aby se spustil při restartování systému, nahraďte pole data a času řetězcem @reboot. Nový příkaz by byl:
@ restartovat / cesta / na / backup.shV předchozím příkazu, @restartovat určuje, že cron by měl provést zadaný příkaz po každém spuštění. Opět musíme přidat příkaz do souboru crontab.
Pomocí následujícího příkazu otevřete soubor crontab a upravte jej pro přidání naší nové úlohy.
crontab -aVšimněte si, že vytváříme úlohu pro aktuálního uživatele. Pokud potřebujete naplánovat úlohu pro jiného uživatele, například pro uživatele s názvem linuxhint 1 , následující příkaz by byl:
crontab -a -v linuxhint 1Jakmile se otevře soubor crontab, přidejte příkaz na spodní řádek. Uložte soubor a ukončete.
Všimněte si také, že používáme a nano editor, váš editor může být jiný, ale příkaz je stejný.
Pokud je úloha úspěšně naplánována, měli byste obdržet zprávu, jako je ta na následujícím obrázku, která označuje úspěšnou instalaci nového crontab:
Přesto můžete použít následující příkaz k zobrazení seznamu naplánovaných úloh.
crontab -lPokud si již nepřejete spouštět příkaz při spouštění, můžete jej odstranit úpravou souboru crontab nebo pomocí příkazu uvedeného níže. Všimněte si, že následující příkaz odstraní všechny naplánované úlohy. Pokud to není to, čeho chcete dosáhnout, přejděte na crontab dolů a ručně odstraňte úlohu pomocí editoru.
crontab -r
@reboot provede příkaz ihned po spuštění. Před spuštěním příkazu však můžete zadat dobu spánku. Pokud například potřebujete, aby se příkaz provedl 10 minut po spuštění, musíte nastavit čas v sekundách.
Příkaz by byl.
@ restartovat spát 600 / cesta / na / backup.sh600 představuje 10 minut vyjádřených v sekundách a spát je možnost použít při zadávání času před provedením.
Náš nový soubor crontab by byl nastaven, jak je znázorněno níže:
Při příštím restartu serveru se zálohovací skript nebo příkaz set spustí po 10 minutách.
Nakonec můžeme ověřit, že naplánovaná úloha bude spuštěna kontrolou stavu pro crond servis . To by mělo být aktivní . Pro kontrolu jeho stavu použijte následující příkaz:
sudo systemctl status cron.serviceMůžete jít, pokud získáte výstup, jako je následující výstup:
Pokud stav crond není aktivní, můžete jej povolit pomocí následujícího příkazu a poté zkontrolovat stav:
sudo systemctl umožnit cron.service
A je to. Váš příkaz se provede při bootování.
Závěr
Vědět, jak naplánovat úlohy při spouštění, je pro administrátory Linuxu zásadní. Naštěstí tato příručka pokryla komplexního praktického průvodce, jak toho dosáhnout pomocí nástroje cron pro Linux. Kromě toho jsme diskutovali o tom, jak můžete nastavit dobu spánku před provedením příkazu.