GNU/Linux >> Znalost Linux >  >> Linux

Plánování úloh pomocí linuxového příkazu cron

Na začátku své linuxové cesty jsem začal ocenit četné nástroje příkazového řádku operačního systému a způsob, jakým zjednodušovaly běžné úlohy. Například zálohování aplikací na mém serveru Windows často vyžadovalo drahé doplňkové softwarové balíčky. Naproti tomu tar Díky příkazu je zálohování Linuxu relativně snadné a je také výkonné a spolehlivé.

Při zálohování našeho e-mailového systému školního obvodu jsem však čelil jiné výzvě. Zálohování nemohlo probíhat během pracovního dne nebo brzy večer, protože lidé systém používali. K zálohování muselo dojít po půlnoci a muselo být spolehlivé. Byl jsem zvyklý na Správce úloh systému Windows, ale co jsem chtěl používat na Linuxu? Tehdy jsem se dozvěděl o cronu.

Plánování úloh v systému Linux pomocí cronu

Cron je démon používaný k automatickému spouštění naplánovaných příkazů. Naučit se používat cron vyžadovalo určité čtení a experimentování, ale brzy jsem pomocí cronu vypnul náš e-mailový server, zálohoval data do komprimovaného souboru tar a poté ve 3:00 restartoval e-mailovou službu.

Příkazy pro úlohu cron jsou uloženy v souboru crontab v systému Linux, který se obvykle nachází v /etc/crontab. Zobrazte obsah svého souboru crontab pomocí $ crontab -l .

Upravte soubor crontab pomocí $ crontab -e .

Některé systémy standardně používají editor Vi pro úpravy cronu. Toto nastavení můžete přepsat pomocí proměnných prostředí:

$ EDITOR=nano crontab -e

To vám umožní používat nano editor k úpravě vašeho osobního crontab (pokud jej ještě nemáte, automaticky se vám vytvoří).

Všechny příkazy crontab mají parametry označené hvězdičkou, dokud nevložíte celočíselnou hodnotu. První představuje minuty, poté hodiny, den v měsíci, měsíc v roce a nakonec den v týdnu.

Komentářům předchází hash. Cron ignoruje komentáře, takže jsou skvělým způsobem, jak si zanechat poznámky o tom, co příkaz dělá a proč je důležitý.

Ukázková úloha cron

Předpokládejme, že chcete skenovat svůj domovský adresář na viry a malware pomocí clamscan každý týden v pondělí v 10:00. Také chcete zálohovat svůj domovský adresář každý týden v úterý v 9:00. Používání souborů cron a crontab zajišťuje, že údržba vašeho systému bude probíhat každý týden, ať už si pamatujete, že tyto nástroje spustíte, nebo ne.

Upravte svůj soubor crontab tak, aby obsahoval následující, pomocí svého vlastního uživatelského jména namísto „don“ (moje uživatelské jméno):

# Scan my home directory for viruses
0 10 * * 1 clamscan -ir /home/don
# Backup my home directory
0 9 * * 2 tar -zcf /var/backups/home.tgz /home/don

Pokud používáte nano editor, uložte svou práci pomocí Ctrl+O pro vypsání souboru a Ctrl+X pro ukončení editoru. Po úpravě souboru použijte crontab -l zobrazíte seznam obsahu vašeho cron souboru, abyste se ujistili, že byl správně uložen.

Úlohy crontab můžete vytvořit pro jakoukoli úlohu, kterou váš systém vyžaduje. To plně využívá démona cron.

Plánování z příkazového řádku systému Linux

Není žádným tajemstvím, že nejtěžší část cronu přichází se správnými hodnotami pro tyto hlavní hvězdičky. Existují webové stránky, jako je crontab.guru, které dynamicky převádějí cron time do lidsky čitelných překladů, a Opensource.com má cron cheat sheet, který si můžete stáhnout, abyste jej udrželi v pořádku.

Většina moderních systémů cron navíc obsahuje zkratky k běžným hodnotám, včetně:

  • @hourly :Spustit jednou za hodinu (0 * * * *)
  • @daily :Běhejte jednou denně (0 0 * * *)
  • @weekly :Běhejte jednou týdně (0 0 * * 0)
  • @monthly :Spustit jednou za měsíc (0 0 1 * *)
  • @reboot :Spustit jednou po restartu

Existují také alternativy ke cronu, včetně anacronu pro úlohy, které chcete spouštět pravidelně, ale ne podle konkrétního plánu, a at příkaz pro jednorázové úlohy.

Cron je užitečný systém plánování úloh a jeho použití je stejně snadné jako úprava textu. Zkuste to!


Linux
  1. Plánování systémových úloh pomocí Cronu na Linuxu

  2. JQ Command v Linuxu s příklady

  3. Vyhledejte příkaz v Linuxu

  1. Diagnostikujte problémy s připojením pomocí příkazu Linux ping

  2. Naplánujte si úlohu pomocí příkazu Linux at

  3. Začínáme s příkazem tac systému Linux

  1. Sledujte příkazy a úkoly pomocí příkazu watch v systému Linux

  2. Zvládněte příkaz Linux ls

  3. Začínáme s linuxovým příkazem cat