crontab

Ako naplánovať úlohu v systéme Linux?

Ako naplánovať úlohu v systéme Linux?
Pri každom použití operačného systému založeného na systéme UNIX sa musia určité úlohy vykonať opakovane. Ich manuálne spustenie je časovo náročné a celkovo neefektívne. Na vyriešenie tohto problému prichádza systém UNIX so zabudovanými plánovačmi úloh. Tieto plánovače úloh fungujú ako inteligentný budík. Keď sa spustí alarm, operačný systém spustí preddefinovanú úlohu.

V prípade systému Linux prichádza s dvoma základnými, ale výkonnými nástrojmi: démon Cron (predvolený plánovač úloh) a na (vhodnejšie na jednorazové plánovanie úloh).

V tejto príručke sa dozviete, ako naplánovať úlohu v systéme Linux.

Naplánujte si úlohy v systéme Linux

Cron
Démon cron je zodpovedný za vykonávanie mnohých úloh v konkrétnych časoch. Tieto úlohy sa zvyčajne spúšťajú na pozadí v naplánovaných časoch. Ponúka veľkú flexibilitu bez ohľadu na úlohu, bez ohľadu na interval (hodinu, týždeň, mesiac, rok alebo čokoľvek iné).

Cron sleduje svoje akcie pomocou súboru crontab. Súbor crontab je skript, ktorý obsahuje všetky informácie potrebné na spustenie všetkých úloh cron.

Poďme sa rýchlo pozrieť na niektoré zo základných použití cronu. V prípade ktoréhokoľvek z nasledujúcich príkazov bude nakonfigurovaný pre používateľa root, ak je spustený s oprávnením sudo. Na demonštráciu som odtiaľto vzal ukážkový súbor crontabu.

Ak chcete zobraziť zoznam všetkých naplánovaných úloh cron pre aktuálneho používateľa, spustite nasledujúci príkaz. Vytlačí všetok obsah súboru crontab.

$ crontab -l


Chcete zoznam úloh cron pre iného používateľa? Namiesto toho spustite tento príkaz.

$ sudo crontab -u -l


Ak chcete upraviť skript crontab, spustite príkaz. Ak chcete upraviť súbor crontab pre root, spustite nasledujúci príkaz s oprávnením sudo.

$ crontab -e


Každý riadok v skripte crontab definuje úlohu. Tu je rýchly rozpis položiek crontab.

$

Tu je zoznam všetkých možných hodnôt pre všetky tieto polia. Ak sa namiesto číselnej hodnoty použije hviezdička (*), použije sa každá možná hodnota poľa.

  • minúta: 0 až 59
  • hodiny: 0 až 23
  • deň v mesiaci: 1 až 31
  • mesiac: 1 až 12
  • deň v týždni: 0 (nedeľa) až 6 (sobota)

Podrobného sprievodcu, ako používať crontab na automatizáciu úloh, nájdete v téme, ako nastaviť úlohy cron v systéme Linux. Tu je ďalší rýchly príklad úlohy cron bežiacej každú minútu.

o
Zatiaľ čo cron je primárny spôsob plánovania úloh, at ponúka možnosť spustiť príkaz / skript v konkrétnom čase alebo v pevnom intervale, nezabudnite, že at spustí cieľovú úlohu raz, zatiaľ čo cron úlohu znovu spustí v danom intervale. Nástroj at je v porovnaní s cronom menej populárny, ale jeho použitie je pomerne jednoduchšie. Môžete použiť určité kľúčové slová, ako napríklad polnoc alebo čas na čaj (4 str.M.).

Tento nástroj nie je predinštalovaný vo väčšine distribúcií systému Linux. Pre inštaláciu na spustite príslušný príkaz podľa vašej distribúcie.

Pre Debian / Ubuntu a deriváty.

$ Sudo apt nainštalovať -y na


Pre CentOS / RHEL a deriváty.

$ yum inštalácia na

Pre Arch Linux a deriváty.

$ sudo Pacman -S o

Pre Fedoru a deriváty.

$ sudo dnf nainštalovať na

Po dokončení inštalácie povoľte at daemon.

$ sudo systemctl enable --now atď.služby


Spôsob práce je trochu iný. Kedykoľvek voláte na, musíte definovať interval vykonania požadovanej úlohy. Napríklad ak chcete spustiť určitý príkaz po hodine, použite nasledujúci príkaz.

$ momentálne + 1 hodina


Ak chcete spustiť požadovanú úlohu pri 6 P.M., o šesť dní odteraz namiesto toho spustite nasledujúci príkaz.

$ o 18:00 + 6 dní


Po spustení príkazu at požiada o spustenie príkazov. Ak chcete výzvu ukončiť, stlačte „Ctrl + d.„V súčasnosti uvádzam súhrn naplánovaných úloh a čas ich vykonania.

Toto je iba základné použitie. Dôslednejším spôsobom použitia at by mohlo byť vykonanie bash skriptu obsahujúceho všetky úlohy, ktoré je potrebné vykonať. Mám záujem dozvedieť sa viac o skriptovaní bash? Skontrolujte

$ o 18:00 + 6 dní -nf