GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit Cron Job v Linuxu

Úvod

Démon Cron je vestavěný nástroj Linux, který spouští procesy ve vašem systému v naplánovanou dobu. Cron čte crontab (cron tabulky) pro předdefinované příkazy a skripty.

Pomocí specifické syntaxe můžete nakonfigurovat úlohu cron naplánovat automatické spouštění skriptů nebo jiných příkazů.

Tato příručka ukazuje, jak nastavit úlohu cron v systému Linux, s příklady.

Předpoklady

  • Systém se systémem Linux
  • Přístup do příkazového řádku/okna terminálu (CtrlAltT nebo CtrlAltF2 )
  • Uživatelský účet s uživatelem root nebo sudo privilegia

Základní syntaxe Crontab

Cron přečte konfigurační soubory pro seznam příkazů, které je třeba provést. Démon používá k interpretaci řádků v crontab specifickou syntaxi konfigurační tabulky.

Abychom mohli nastavit úlohu cron, musíme porozumět základním prvkům, které tvoří tuto syntaxi. Standardní formulář pro crontab line je následující:

a b c d e /directory/command output

Tedy části cron příkaz jsou:

1. Prvních pět polí a b c d e zadejte čas/datum a opakování úlohy.

2. Ve druhé části /directory/command určuje umístění a skript, který chcete spustit.

3. output posledního segmentu je volitelný. Definuje, jak systém upozorní uživatele na dokončení úlohy.

1. Cron Job Time Format

Prvních pět polí v příkazu představuje čísla, která definují, kdy a jak často se příkaz spouští. Každou pozici odděluje mezera, která představuje konkrétní hodnotu.

Níže uvedená tabulka shrnuje možné hodnoty pro pole a příklad syntaxe:

Pole Možné hodnoty Syntaxe Popis
[a] – minuta 0–59 7 * * * * Úloha cron se spouští pokaždé, když systémové hodiny ukazují 7 v pozici minuty.
[b] – hodina 0–23 0 7 * * * Úloha cron se spustí vždy, když systémové hodiny ukazují 7:00 (19:00 by bylo kódováno jako 19).
[c] – den 0–31 0 0 7 * * Dnem v měsíci je 7, což znamená, že se úloha spouští každých 7 dní v měsíci.
[d] – měsíc 0 =žádný a 12 =prosinec 0 0 0 7 * Číselný měsíc je 7, což určuje, že se úloha spustí pouze v červenci.
[e] – Den v týdnu 0 =neděle a 7 =neděle 0 0 * * 7 7 na aktuální pozici znamená, že úloha bude probíhat pouze v neděli.

2. Příkaz k provedení

Další část určuje příkaz, který se má provést. Představuje přesný adresář a název souboru skriptu nebo příkazů, které má cron dokončit. Například:

/root/backup.sh

V našem příkladu se příkaz podívá do kořenového adresáře systému a spustí backup.sh skript. Můžete zadat libovolný skript nebo příkaz.

3. Výstup (volitelné)

Ve výchozím nastavení cron při spuštění odešle e-mail vlastníkovi souboru crontab. Je to pohodlný způsob, jak sledovat úkoly. Mějte na paměti, že pravidelné nebo menší úkoly mohou rychle zaplnit vaši doručenou poštu.

Protože se jedná o volitelnou funkci, můžete tomuto scénáři zabránit vypnutím výstupního e-mailu. Chcete-li vypnout e-mailový výstup, přidejte následující řetězec, >/dev/null 2>&1 , po polích časování a příkazu.

* * * * * directory/command >/dev/null 2>&1

4. Pomocí operátorů (volitelné)

Pro efektivitu syntaxe cron také používá operátory. Operátory jsou speciální znaky, které provádějí operace s hodnotami poskytnutými v poli cron.

  • Hvězdička (*) zastupuje všechny hodnoty. Pomocí tohoto operátoru udržíte úkoly spuštěné během všech měsíců nebo dnů v týdnu.
  • Čárka (,) specifikuje samostatné jednotlivé hodnoty.
  • Pomlčka (–) označuje rozsah hodnot.
  • Lomitko (/) se používá k rozdělení hodnoty do kroků. (*/2 by byla každá druhá hodnota, */3 by byla každá třetina, */10 by byla každá desátá atd.)

Nastavení úlohy Cron

Chcete-li nakonfigurovat úlohu cron, otevřete crontab pomocí preferovaného textového editoru a zadejte syntaxi příkazu, který chcete spustit.

Jak upravit soubor crontab?

Chcete-li otevřít konfigurační soubor crontab pro aktuálního uživatele, zadejte v okně terminálu následující příkaz:

crontab –e

Můžete přidat libovolný počet naplánovaných úloh, jednu na řádek.

Po dokončení přidávání úkolů soubor uložte a odejít. Démon cron přečte a provede poskytnuté instrukce.

Pamatujte, že pro použití změn není nutné restartovat Cron.

Upravit crontab pro jiného uživatele

Chcete-li upravit crontab pro jiného uživatele, zadejte následující příkaz:

crontab –u other_username –e

Příklady úloh Cron

Při zadávání úloh zadejte všechny hodnoty pomocí hvězdičky. Vložením hodnoty do jednoho z polí se příkaz spustí pouze na této hodnotě. Například:

* 2 0 * 4 /root/backup.sh

I když je nastaveno na spuštění ve 2 hodiny ráno, spustí se pouze tehdy, když první v měsíci (0) připadne na středu (4). Pokud změníte na následující:

* 2 0 * * /root/backup.sh

Příkaz se spustí vždy první den v měsíci ve 2 hodiny ráno. Následující tabulka obsahuje několik základních příkazů pomocí /root/backup.sh soubor z našich předchozích příkladů.

Cron Job Příkaz
Spouštějte úlohu Cron každou minutu * * * * * /root/backup.sh
Spouštět úlohu Cron každých 30 minut 30 * * * * /root/backup.sh
Spouštět Cron Job každou hodinu 0 * * * */root/backup.sh
Spouštějte Cron Job každý den o půlnoci 0 0 * * * /root/backup.sh
Spouštějte Cron Job každý den ve 2:00 0 2 * * * /root/backup.sh
Spouštět Cron Job každý 1 v měsíci 0 0 1 * * /root/backup.sh
Spouštět Cron Job každých 15 v měsíci 0 0 15 * * /root/backup.sh
Spusťte Cron Job 1. prosince – Půlnoc 0 0 0 12 * /root/backup.sh
Spusťte Cron Job v sobotu o půlnoci 0 0 * * 6 /root/backup.sh

Použití speciálních znaků

Pomocí lomítka můžete časový řetězec rozdělit na kroky. Spuštění zálohy každých 15 minut:

*/15 * * * *

* znamená všechny hodnoty a /15 počítá a opakuje se každých 15 minut.

K určení rozsahu použijte pomlčku. Spuštění kódu každý všední den ve 4:00:

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

V tomto případě 1-5 určuje pondělí – pátek.

Jednotlivé instance, kdy se má kód spustit, použijte čárku:

0 4 * * 2,4 /root/backup.sh

Tím by se kód spustil v úterý a čtvrtek ve 4 hodiny ráno.

Některé zástupné znaky lze kombinovat. Nechte příkaz spouštět každý druhý den 37 minut po hodině:

37 1-23/2 * * * /root/backup.sh

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

Seznam existujících úloh Cron

Můžete vypsat všechny úlohy cron ve vašem systému, aniž byste museli otevírat konfigurační soubor crontab. V okně terminálu zadejte následující příkaz:

crontab –l

Linux
  1. Jak používat cron na Linuxu

  2. Jak nastavit úlohy cron v cPanel

  3. Jak nastavit úlohu Cron v cPanel (video tutoriál)

  1. Jak používám cron v Linuxu

  2. Jak používat Cron Job Format k plánování úloh v Linuxu

  3. Jak nastavit úlohu CRON, aby se spouštěla ​​každých 10 sekund v Linuxu?

  1. Jak nastavit úlohu Cron v TrueNAS

  2. Jak nastavit úlohu Cron

  3. Jak nastavit proměnnou $Path v Linuxu