GNU/Linux >> Znalost Linux >  >> Debian

Co je to Cron Job v Linuxu

Cron je démon, který provádí úlohy na pozadí systému. Úlohy naplánované na pozdější provedení jsou známé jako „Cron Jobs “. Cron Jobs jsou považovány za ideální pro opakující se úlohy, jako je pravidelné vytváření záloh systému. Uživatelé Linuxu mohou pomocí Cron Jobs automatizovat své obvyklé úkoly každou hodinu, den, týden, měsíc nebo rok. Chcete-li mít přehled o úlohách Cron, „soubory Crontab “, které mohou být specifické pro uživatele nebo mít systémové úlohy Cron.

Tento článek vás provede Cron Jobs a jeho typy. Kromě toho vám také ukážeme některé příklady úloh Cron a postup pro výpis a odstranění úloh Cron ze souboru crontab. Takže, začněme!

Co je úloha Cron v systému Linux

Cron Funkce démona v Linuxu je podobná tomu, co služby dělají ve Windows, a obě se používají k plánování úloh, které se spouštějí v určitou dobu na pozadí systému. Cron Jobs se používají hlavně k pravidelnému čištění systémové mezipaměti nebo vytvoření zálohy souborů protokolu a databází. Zatímco soubor crontab obsahuje všechny systémové úlohy Cron Jobs a má také specifickou syntaxi pro psaní příkazů.

Syntaxe příkazu crontab v systému Linux

Syntaxe, kterou je třeba dodržovat při psaní příkazu crontab, je uvedena níže:

* * * * * [Command or Script]

Zde:

  • První hvězdička * představuje „minutu
  • Druhá hvězdička * představuje „hodinu
  • Třetí hvězdička * představuje „Den v měsíci
  • Čtvrtá hvězdička * představuje „Měsíc
  • Pátá a poslední hvězdička * představuje „Den v týdnu

Nyní se podívejte na hodnoty výše uvedených polí:

Příkazy úlohy Cron v systému Linux

Zde jsou některé z příkazů Cron Jobs, které můžete použít ve svém terminálu Linux:

Příkaz Popis
crontab -a Položka „crontab -a ” se používá k vytvoření souboru crontab specifického pro uživatele. Musíte zadat „název souboru “ v tomto příkazu po přidání „-a “.
crontab -r Položka „crontab -r ” se používá k odstranění souboru crontab.
crontab -e crontab -e ” se používá k úpravě již vytvořeného souboru crontab.
crontab -v Položka „crontab -v ” se používá k zobrazení času úpravy souboru crontab.
crontab -l Položka „crontab -l ” se používá k zobrazení obsahu souboru crontab.

Jak zkontrolovat službu Cron v systému Linux

Před zahájením úlohy Crob se ujistěte, že „cron.service “ je aktuálně aktivní ve vašem systému Linux. Za tímto účelem spusťte níže uvedený „systemctl ” příkaz:

$ sudo systemctl status cron.service

Níže uvedený výstup deklaruje, že cron.service je „aktivní “ a běžící v našem systému:

V případě, že „cron.service ” je na vašem systému Linux neaktivní, poté jej spusťte provedením následujícího příkazu:

$ sudo systemctl start cron.service

Typy úloh Cron v Linuxu

Cron Jobs se skládají především ze dvou typů:Celosystémové Cron Jobs a specifické pro uživatele Cron Jobs. V následující části vysvětlíme rozdíl mezi oběma typy a jejich souvisejícími soubory Cron Job.

Co jsou systémové úlohy Cron v systému Linux

K úlohám Cron má přístup pouze správce systému a jsou známé jako systémové úlohy Cron. Tyto úlohy Cron lze nalézt v „/etc/cron.d ” a “/etc/crontab “. Tyto soubory crontab se spouštějí prostřednictvím „/etc/cron.daily “, „/etc/hourly “, „/etc/cron.monthly “ a „/etc/cron.weekly “.

Pokud jste správce systému, můžete upravit soubor „/etc/crontab ” ve vašem nano editoru pro definování úloh Cron:

$ sudo nano /etc/crontab

Co jsou Cron úlohy specifické pro uživatele v Linuxu

Cron úlohy specifické pro uživatele jsou typy úloh Cron definované pro konkrétního uživatele. Tyto typy úloh Cron existují v „/var/spool/cron/crontabs/ “. Zadané soubory Cron Job můžete ručně upravit; doporučuje se však použít „crontab -e ” příkaz k provedení operace úprav:

$ crontab -e

Spuštění „crontab ” pomocí „-e ” zobrazí tři možnosti pro úpravu souboru Cron Job. Vybrali jsme „1 ” protože je snadné upravovat soubory v editoru nano:

Váš uživatelsky zadaný soubor Crontab bude vypadat nějak takto:

Příklady úloh Cron v systému Linux

V této části vám ukážeme některé příklady Cron Jobs, které vám mohou pomoci pochopit vznik Cron Jobs.

Poznámka: Všechny skripty, které jsou použity v níže uvedených příkladech, jsou vytvořeny ručně.

Příklad 1: Do souboru crontab je přidán následující příkaz crontab pro spouštění souboru „/root/backup.sh ” skript po každých 40 minuty:

40 * * * * /root/backup.sh

Po zadání příkazu crontab stiskněte „CTRL+O ” pro uložení přidaných změn:

Příklad 2: Ve druhém příkladu napíšeme příkaz crontab, který provede „filescript.sh ” vždy v 17:00 10. května, srpna, září a října:

00 05 10 5,8,9,10 * /usr/local/bin/filescript.sh

Příklad 3: Následující příkaz crontab spustí „filescript.sh ” skript ve 22:00 každou sobotu:

0 10 * * sat  /scripts/filescript.sh

Příklad 4: V příkazu crontab můžete také zadat více dní. Například ke spuštění našeho „filescript.sh ” skript v 16:00 každou neděli a pátek, vypíšeme tento příkaz crontab:

0 04 * * sun,fri  /script/filescript.sh

Příklad 5: V následujícím příkladu jsme přidali podmínku, která pomáhá spustit soubor „/scripts/filescript.sh ” každých 30 sekund:

* * * * * /scripts/filescript.sh
* * * * *  sleep 30; /scripts/filescript.sh

Příklad 6: K plánování úloh můžete také použít speciální řetězce Cron Job. Například „@denně ” je přidán na začátek příkazu crontab pro naplánování úlohy Cron, která se bude spouštět každý den:

@daily /scriptdir/filescript.sh

Zadání „@roční “ v následujícím příkazu spustí „filescript.sh ” skript na roční bázi:

@yearly /scriptdir/filescript.sh

Chcete-li naplánovat úlohu Cron, která spustí soubor „filescript.sh ” jednou týdně, přidejte „@weekly ” řetězec na začátku příkazu crontab:

@weekly /scriptdir/filescript.sh

Podobně můžete použít „@hourly “ a „@měsíční ” řetězce pro naplánování spouštění úloh Cron jednou za hodinu a jednou za měsíc.

Příklad 7: Můžete také definovat úlohy Cron pro konkrétního uživatele v otevřeném souboru. Chcete-li tak učinit, podívejte se na níže uvedenou syntaxi:

*****  [Username] [Script_name]

Zde vytvoříme Cron Job, která spustí „scriptfile ” v našem domovském adresáři pro “linuxfoss ” uživatel každých 20 minut:

20 * * * * linuxfoss scriptfile

Příklad 8: Chcete spustit zálohu všech svých uživatelských účtů? Pomocí příkazu crontab můžete naplánovat zálohování systému. Například níže uvedený příkaz crontab vytvoří úlohu Cron pro zálohování uživatelských účtů každý týden v 6:00:

 0 6 * * 1 tar -zcf /var/backups/home.tgz /home/

Stiskněte „CTRL+O ” pro zapsání příkazů do souboru crontab a následné ukončení editoru nano:

Jak vytvořit seznam úloh Cron v systému Linux

Výpis úloh Cron v terminálu je užitečný při prohlížení všech úloh Cron najednou. Pro tento účel můžete přidat „-l “ v „crontab ” a poté jej spusťte na svém linuxovém terminálu následovně:

$ crontab -l

V našem souboru crontab jsme uložili pouze Cron Job pro vytvoření zálohy pro všechny uživatelské účty a je to vidět i ve výstupu:

Jak vytvořit zálohu úloh Cron v systému Linux

Ukázali jsme vám seznam úloh Cron pomocí „crontab “příkaz. Můžete také přesměrovat výstup „crontab -l ” na konkrétní soubor pro vytvoření zálohy přidaných úloh Cron. STDOUT nebo operátor přesměrování „> ” lze použít k provedení zadané operace:

$ crontab -l > backupfile.txt

Nyní zadejte „kočka ” s názvem záložního souboru úlohy Cron, abyste viděli jeho obsah:

$ cat backupfile.txt

Jak odebrat úlohy Cron v systému Linux

Symbol „-r ” je přidána do příkazu crontab pro odstranění úloh Cron ze souboru crontab. Navíc můžete přidat „-i ” možnost pro výzvu uživatele k odstranění úloh Cron:

$ crontab -i -r

Chcete-li odstranit úlohy Cron bez výzvy, spusťte jednoduchý „crontab -r “ a máte hotovo!

$ crontab -r

Závěr

Plánování a automatizace opakujících se procesů zvyšuje produktivitu v systému založeném na Linuxu a zároveň snižuje manuální monitorování a vyrušování uživatelů. Existují obrovské programy, které pomáhají plánovat úkoly; nicméně „Cron “ je nejrozšířenější. Do souboru crontab přidáme naše úlohy Cron pomocí „Cron “démon. Tento zápis vysvětlil syntaxi Cron Job, související příkazy a typy Cron Jobs. Kromě toho jsme také předvedli několik příkladů Cron Jobs, které vám mohou pomoci pochopit strukturu příkazů Crontab.


Debian
  1. Použití at pro jednorázové úlohy cron v Linuxu

  2. Co je JingOS Linux?

  3. Linux:Spusťte úlohu cron v popředí

  1. 4 alternativy cronu v Linuxu

  2. Co je uživatel Linuxu?

  3. Co je Rootkit Hunter?

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

  2. Co je Umask v Linuxu

  3. Cron Job Use &Policy