Ako vytvárať a spravovať úlohy Cron v systéme Linux


Cron je jedným z najužitočnejších nástrojov Linuxu a obľúbeným nástrojom pre vývojárov, pretože vám umožňuje spúšťať automatické príkazy v konkrétnych obdobiach, dátumoch a intervaloch pomocou všeobecných aj špecifických skriptov. Vzhľadom na tento popis si viete predstaviť, ako ho správcovia systému používajú na automatizáciu úloh zálohovania, čistenia adresárov, upozornení atď.

Úlohy cron bežia na pozadí a neustále kontrolujú súbor /etc/crontab a /etc/cron.*/ a /var/spool/cron/ adresárov. Súbory cron sa nemajú upravovať priamo a každý používateľ má jedinečný crontab.

Ako potom máte vytvárať a upravovať úlohy cron? S príkazmi crontab. Crontab je metóda, ktorú používate na vytváranie, úpravu, inštaláciu, odinštalovanie a zoznam úloh cron.

Príkaz na vytváranie a úpravu úloh cron je rovnaký a jednoduchý. A čo je ešte chladnejšie, po vytvorení nových súborov alebo úprave existujúcich súborov nemusíte reštartovať cron.


crontab -e

Cron syntax

Rovnako ako v každom jazyku je práca s cronom oveľa jednoduchšia, keď rozumiete jeho syntaxi a existujú dva formáty, ktoré by ste mali poznať:


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

Vysvetlenie vyššie uvedenej syntaxe cron:

  • Odpoveď: Rozsah minút: 0 – 59
  • B: Rozsah hodín: 0 – 23
  • C: Dni rozsah: 0 – 31
  • D: Rozsah mesiacov: 0 – 12
  • E: Rozsah dní v týždni: 0 – 7. Počnúc pondelkom 0 alebo 7 predstavuje nedeľu
  • USERNAME: nahraďte toto svojím používateľským menom
  • /path/to/command – názov skriptu alebo príkazu, ktorý chcete naplánovať

To nie je všetko. Cron používa 3 symboly operátorov, ktoré vám umožňujú zadať viacero hodnôt v poli:

  1. Hviezdička (*): určuje všetky možné hodnoty pre pole
  2. Čiarka (,): určuje zoznam hodnôt
  3. Pomlčka (-): určuje rozsah hodnôt
  4. Oddeľovač (/): určuje hodnotu kroku

Teraz, keď poznáte syntax a operátory Cron, pozrime sa na niekoľko príkladov cronu.

Príklady úloh Cron

Prvým krokom k spusteniu príkazov cron je inštalácia crontab pomocou príkazu:


crontab -e

Spustite /root/backup.sh o 3:00 každý deň:


0 3 * * * /root/backup.sh

Spustite script.sh o 16:30 každý druhý deň v mesiaci:

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

Spustite /scripts/phpscript.php o 22:00 počas týždňa:

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

Spustite perlscript.pl o 23 minútach po polnoci, 2:00 a 4:00, každý deň:

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

Spustite príkaz Linux o 04:05 každú nedeľu:

5 4 * * sun /path/to/linuxcommand

Možnosti Cron

Zoznam úloh cron.


crontab -l
OR
crontab -u username -l

Odstráňte všetky úlohy crontab.

crontab -r

Odstráňte úlohu Cron pre konkrétneho používateľa.


crontab -r -u username

Struny v Crontabe

Reťazce patria medzi obľúbené veci vývojárov, pretože pomáhajú šetriť čas tým, že eliminujú opakované písanie. Cron má špecifické reťazce, ktoré môžete použiť na rýchlejšie vytváranie príkazov:

  1. @hourly: Spustiť raz za hodinu, t. j. „0 * * * *
  2. @midnight: Spustite raz každý deň, t. j. „0 0 * * *
  3. @denne: rovnako ako o polnoci
  4. @weekly: Spustiť raz za týždeň, t. j. „0 0 * * 0
  5. @mesačne: Spustiť raz za mesiac, t. j. „0 0 1 * *
  6. @ročne: Spustiť raz za rok, t. j. „0 0 1 1 *
  7. @ročne: rovnako ako @ročne
  8. @reboot: Spustí sa raz pri každom spustení

Napríklad takto zálohujete systém každý deň:

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

V tomto bode máte všetko, čo potrebujete na vytváranie a správu systémových úloh pomocou Cron. Teraz môžete začať nastavovať a udržiavať niekoľko prostredí pomocou naplánovaných príkazov.

Ako veľmi ste používateľom Cron? A sú nejaké podrobnosti, ktorými môžete prispieť k článku? Pole na diskusiu je nižšie.

Keď dostatočne pochopíte, ako Crontab funguje, môžete použiť tieto šikovné nástroje generátora Crontab na bezplatné generovanie riadkov crontab.

Tiež si tu môžete prečítať článok Ubuntu o tom, ako používať Cron. Obsahuje zdroje, ktoré by sa vám mohli hodiť.