Vyhledávání na webu

Jak vytvářet a spravovat úlohy Cron v systému Linux


Cron je jedním z nejužitečnějších nástrojů Linuxu a oblíbeným nástrojem pro vývojáře, protože vám umožňuje spouštět automatické příkazy v určitých obdobích, datech a intervalech pomocí skriptů pro obecné účely i konkrétních úkolů. Vzhledem k tomuto popisu si dokážete představit, jak jej správci systému používají k automatizaci úloh zálohování, čištění adresářů, upozornění atd.

Úlohy cron běží na pozadí a neustále kontrolují soubor /etc/crontab a /etc/cron.*/ a /var/spool/cron/ adresářů. Soubory cron se nemají upravovat přímo a každý uživatel má jedinečný crontab.

Jak tedy máte vytvářet a upravovat úlohy cron? S příkazy crontab. Crontab je metoda, kterou používáte k vytváření, úpravě, instalaci, odinstalaci a vypisování úloh cron.

Příkaz pro vytváření a úpravu úloh cron je stejný a jednoduchý. A co je ještě cool, je to, že po vytvoření nových souborů nebo úpravách stávajících souborů nemusíte restartovat cron.


crontab -e

Syntaxe Cron

Stejně jako v případě jakéhokoli jazyka je práce s cronem mnohem snazší, když rozumíte jeho syntaxi a existují dva formáty, které byste měli znát:


A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Vysvětlení výše uvedené syntaxe cronu:

  • Odpověď: Rozsah minut: 0 – 59
  • B: Rozsah hodin: 0 – 23
  • C: Dny rozsah: 0 – 31
  • D: Měsíce rozsah: 0 – 12
  • E: Rozsah dnů v týdnu: 0 – 7. Počínaje pondělím 0 nebo 7 představuje neděli
  • USERNAME: nahraďte toto svým uživatelským jménem
  • /path/to/command – Název skriptu nebo příkazu, který chcete naplánovat

To není vše. Cron používá 3 symboly operátorů, které vám umožňují zadat více hodnot v poli:

  1. Hvězdička (*): určuje všechny možné hodnoty pro pole
  2. Čárka (,): určuje seznam hodnot
  3. Pomlčka (-): určuje rozsah hodnot
  4. Oddělovač (/): určuje hodnotu kroku

Nyní, když znáte Cronovu syntaxi a operátory, podívejme se na některé příklady cronu.

Příklady úloh Cron

Prvním krokem ke spuštění příkazů cron je instalace crontab pomocí příkazu:


crontab -e

Spusťte /root/backup.sh ve 3:00 každý den:


0 3 * * * /root/backup.sh

Spusťte script.sh v 16:30 každý druhý den v měsíci:

30 16 2 * * /path/to/script.sh

Spusťte /scripts/phpscript.php v 22:00 během týdne:

0 22 * * 1-5 /scripts/phpscript.php

Spusťte perlscript.pl v 23 minut po půlnoci, 2:00 a 4:00, každý den:

23 0-23/2 * * * /path/to/perlscript.pl

Spusťte příkaz Linux v 04:05 každou neděli:

5 4 * * sun /path/to/linuxcommand

Možnosti Cron

Seznam úloh cron.


crontab -l
OR
crontab -u username -l

Smažte všechny úlohy crontab.

crontab -r

Smazat úlohu Cron pro konkrétního uživatele.


crontab -r -u username

Struny v Crontabu

Řetězce patří mezi oblíbené věci vývojáře, protože pomáhají šetřit čas tím, že eliminují opakované psaní. Cron má specifické řetězce, které můžete použít k rychlejšímu vytváření příkazů:

  1. @hourly: Spustit jednou za hodinu, tj. „0 * * * *
  2. @midnight: Spustit jednou denně, tj. „0 0 * * *
  3. @denně: stejné jako o půlnoci
  4. @weekly: Spouštět jednou týdně, tj. „0 0 * * 0
  5. @monthly: Spustit jednou za měsíc, tj. „0 0 1 * *
  6. @ročně: Spustit jednou za rok, tj. „0 0 1 1 *
  7. @ročně: stejné jako @ročně
  8. @reboot: Spustí se jednou při každém spuštění

Takto například zálohujete systém každý den:

@daily /path/to/backup/script.sh

V tuto chvíli máte vše, co potřebujete k vytváření a správě systémových úloh pomocí Cron. Nyní můžete začít nastavovat a udržovat několik prostředí pomocí naplánovaných příkazů.

Jak moc jste uživatelem Cronu? A jsou nějaké podrobnosti, kterými můžete do článku přispět? Diskusní pole je níže.

Když dostatečně pochopíte, jak Crontab funguje, můžete použít tyto šikovné nástroje generátoru Crontab ke generování řádků crontab zdarma.

Zde si také můžete přečíst článek Ubuntu o tom, jak používat Cron. Obsahuje zdroje, které by se vám mohly hodit.