Naučte se Linux

Jak vytvořit úlohy Cron v systému Linux

Jak vytvořit úlohy Cron v systému Linux

Úloha Cron nebo Cron je časově závislý plánovač běžný v systémech Linux / Unix. Naplánuje zadané úkoly uživatele tak, aby se spouštěly pravidelně ve stanoveném datu, čase nebo intervalech. Většina z těchto úkolů jsou skripty k provádění funkcí, jako jsou zálohy a další. K vytvoření těchto úloh cron používáme příkazy crontab. Crontab je příkaz / obslužný program UNIX používaný k vytváření a správě úloh cron.

Jak uvidíte níže, vytváření a úpravy úloh cron je poměrně jednoduché. Nejúžasnější na tom je, že po vytvoření nebo úpravě úlohy cron nemusíte restartovat cron nebo dokonce počítač. Jednoduše uložte soubor a můžete vyrazit.

Běžné použití úloh Cron

Základní části příkazu cron

Standardní syntaxe crontabu je uvedena níže:

a b c d e UŽIVATELSKÉ JMÉNO / cesta / k / výstup skriptu

1.Čas a datum spolu s tím, jak opakovaná bude úloha, jsou určeny pěti poli:

Poznámka: Dny začínají pondělkem. 0 a 7 představují neděli

2. UŽIVATELSKÉ JMÉNO: Nezapomeňte toto nahradit svým uživatelským jménem

3. Konkrétní umístění a skript, který má spustit cron, určuje třetí segment:

/ cesta / do / skriptu

4. Poslední část definuje oznámení uživateli po dokončení úlohy jako způsob sledování úkolů:

výstup

Doručená pošta však může být plná drobných úkolů, které jsou často směrovány. Chcete-li tomu zabránit, můžete zakázat automatický e-mailový výstup přidáním řetězce níže do příkazu cron:

> / dev / null 2> & 1 e.g a b c d e UŽIVATELSKÉ JMÉNO / cesta / k / skriptu> / dev / null 2> & 1

Kromě toho cron používá další čtyři hodnoty použité při zadávání více hodnot v poli. Oni jsou:

Nastavení úloh cron

Příkazy crontab jsou zodpovědné za vytváření a úpravy úloh cron, protože soubory cron by neměly být upravovány přímo. Crontab definuje, jak můžete vytvářet, upravovat, vypisovat, ladit, instalovat a odinstalovat úlohy cron.

Než začnete s úlohami cron, je důležité zajistit, aby byl váš Linux Desktop nebo Server aktuální pomocí níže uvedených příkazů:

sudo apt aktualizace sudo apt aktualizace

Pokud ve svém systému nemáte nainstalovaný balíček cron, nainstalujte jej pomocí následujícího příkazu:

sudo apt-get install cron

Nainstalujte cron

Jak upravit soubor crontab?

K dokončení procesu budete muset nakonfigurovat úlohu cron. Vlastníkem se automaticky stane uživatel přihlášený při vytvoření úlohy cron. To lze změnit vytvořením vlastníka úlohy, který bude mít na starosti správu úlohy cron, jak uvidíme v tomto příspěvku.

Chcete-li otevřít konfigurační soubor crontab pro aktuálně přihlášeného uživatele, proveďte následující příkaz:

crontab -e

Systém vás vyzve k výběru vhodného editoru. V našem případě zvolíme první možnost (nano editor).

crontab -e

Na každý řádek můžete přidat jednu naplánovanou úlohu podle svých preferencí.

soubor crontab

Po přidání úkolů dokončete uložením souboru a ukončete. Všechny poskytnuté pokyny přečte a provede démon cron. Změny budou použity i bez restartování systému, protože úložiště se aktualizuje automaticky.

Upravte crontab pro jiného uživatele

Crontab lze upravovat pro různé uživatele pomocí příkazu v níže uvedené syntaxi:

crontab -u jiné_uživatelské jméno -e

Jak používat speciální znaky v příkazech crontab

Znaky a operátoři diktují více přizpůsobení vašeho systému, protože rozšiřují možnosti úlohy cron.

0 6 * * 1-5 / root / backup.sh

Tady 06 znamená 6:00 - 1-5 znamená počet dní (pondělí až pátek).

35 1-23 / 2 * * * / cesta / ke / skriptu / skriptu.sh

1-23 určuje rozsah hodin, / 2 nastaví interval na každou další hodinu.

Možnosti Cron

Možná budete chtít zobrazit seznam úloh cron ve vašem systému, aniž byste odemkli konfigurační soubor crontab. Toho lze dosáhnout spuštěním terminálu a zadáním následujícího příkazu:

crontab -l

seznam úloh cron

Tento příkaz obsahuje seznam všech úloh cron ve vašem systému.

Chcete-li odstranit všechny příkazy crontab, můžete použít následující příkaz:

crontab -r
crontab -r -u jiné-uživatelské jméno

Použijte řetězce v Crontabu

Řetězce jsou nesmírně užitečné nástroje pro vývojáře, protože se vyhýbají opakovanému psaní segmentů kódu. Naštěstí crontabs podporuje různé hodnoty řetězců. Obsahují:

@hodinově: -stejné jako - „0 * * * *“ (Spustí se jednou za hodina)
@půlnoc:  -stejné jako - „0 0 * * *“ (Spustí se jednou za den)
@denně: stejně jako půlnoc
@týdně:  -stejné jako - „0 0 * * 0“ (Spustí se jednou za týden)
@měsíční: -stejné jako - „0 0 1 * *“ (Provádí se jednou za Měsíc)
@každoročně: -stejné jako - „0 0 1 1 *“ (Spustí se jednou za rok)
@roční: podobně jako @annually
@ restart: Provedeno jednou po každém restartu / restartu / spuštění.

Dobrý příklad; pokud máte záložní skript, který chcete spouštět každý den, použijte následující příkaz:

@denně / cesta / k / záložní_skript.sh

Příklady úloh cron

Zde je seznam základních úloh cron, které lze použít při zahájení:

    1. Spuštění skriptu každou minutu:
      * * * * * / váš / skript / cesta.sh
    2. Spuštění skriptu každých 40 minut:
      40 * * * * / váš / skript / cesta.sh
    3. Spuštění skriptu každou hodinu:
      0 * * * * / váš / skript / cesta.sh
    4. Spuštění skriptu každou půlnoc:
      0 0 * * * / váš / skript / cesta.sh
    5. Spuštění skriptu každých 23 minut po půlnoci, 2:00 a 4:00 každý den:
      23 0-23 / 2 * * * / váš / skript / cesta.sh
    6. Spuštění skriptu ve 4.05 každou neděli.
      5 4 * * slunce / váš / skript / cesta.sh
    7. Spustit skript během týdne ve 22 hodin.
      0 22 * ​​* 1-5 / váš / skript / cesta.sh
    8. Spustit skript 1. prosince - půlnoc.
      0 0 0 12 * / váš / skript / cesta.sh
    9. Spustit scénář v sobotu o půlnoci.
      0 0 * * 6 / váš / skript / cesta.sh
    10. Spuštění skriptu každou hodinu.
      0 * * * * / váš / skript / cesta.sh

S těmito základními příklady se dostanete do hlubšího pochopení sekvence a toho, jak ji lze upravit.

Omezení přístupu Cron

Vidíme, že úlohy cron mohou přijít docela vhod, zvláště když chcete automatizovat své úkoly. Může však být také riskantní, pokud systém umožňuje každému uživateli vytvořit úlohu cron. I když to nemá vliv na osobní údaje, některé úlohy cron mohou vyžadovat docela slušné množství systémových prostředků, a tím zaostávají PC. Aby se těmto scénářům vyhnul, může správce systému (uživatel root) vytvořit / etc / cron.dovolit  nebo / etc / cron.odmítnout soubor, který obsahuje pouze uživatele, kteří mohou 'vytvořit / nevytvořit' práce cron.

The / etc / cron.dovolit soubor obsahuje uživatele, kteří mohou vytvářet, upravovat, zobrazovat nebo odstraňovat soubory crontab. Pokud tento soubor neexistuje, mohou všichni uživatelé vytvářet a spravovat jiné úlohy cron než ty v souboru / etc / cron.odmítnout soubor. Pokud žádný z těchto souborů není k dispozici, jsou ke spuštění příkazu crontab vyžadována oprávnění superuživatele.

cron povolit soubor

Nyní, když jste zabránili uživatelům bez oprávnění root ve vytváření úloh cron, pokud již nějaké měli, můžete zvážit přidání jejich úloh cron do souboru root crontab. Ale tady je hádanka - přidáním jejich úloh cron do kořenového crontabu, nespustí to jejich úlohy cron jako root? Tady přichází důležitost pole USERNAME, o kterém jsme diskutovali výše v syntaxi příkazu cron. Například následující příkaz:

0 * * * * fosslinux / cesta / do / skript.sh

Spustí se jako uživatelská úloha „fosslinux“ cron, nikoli jako uživatel root.

Závěr

Nyní máte jasného průvodce používáním úloh Cron k automatizaci různých úkolů ve vašem systému. To by vás nemělo plést s aplikacemi Po spuštění. Pomocí výše uvedených příkladů vyzkoušejte a automatizujte jednoduché skripty. Postupem času můžete kombinovat speciální postavy a divoké karty, abyste mohli plnit mnohem všednější úkoly. Pokud právě začínáte, bylo by skvělé přečíst si náš příspěvek v tutoriálu skriptování bash s příklady, které vám pomohou vytvořit váš první skript.

Hry Jak nainstalovat a hrát Doom na Linuxu
Jak nainstalovat a hrát Doom na Linuxu
Úvod do Doom Série Doom vznikla v 90. letech po vydání původního Doomu. Byl to okamžitý hit a od té doby herní série získala řadu ocenění a původní Do...
Hry Vulkan pro uživatele Linuxu
Vulkan pro uživatele Linuxu
S každou novou generací grafických karet vidíme, že vývojáři her posouvají hranice grafické věrnosti a přibližují se k fotorealismu. Ale navzdory vešk...
Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvoření vlastní simulace dopravy může být zábavné, uvolňující a mimořádně lákavé. Proto se musíte ujistit, že vyzkoušíte co nejvíce her, abyste našl...