Ako automatizovať úlohy pomocou Anacronu

Automatizácia úloh pomocou Anacronu

V predchádzajúci článok Hovoril som ti o crone, systémovom programe, ktorý automaticky spúšťa úlohy v určitom čase. Teraz si ukážeme, ako automatizovať úlohy pomocou Anacronu. Anacron nám umožňuje prekonať jednu zo slabín Cronu. Ak je počítač v čase, keď sa mala úloha vykonať, vypnutý, nevykoná sa znova, kým nenastane ďalšie ročné obdobie a počítač nebude zapnutý.

V prípade Anacronu, Keď sa počítač znova zapne, vykoná úlohy, ktoré boli ponechané čakajúce.

Ako automatizovať úlohy pomocou Anacronu

Keď sa počítač spustí, Anacron vyhľadá, kedy bola daná inštrukcia naposledy vykonaná a ako často jej bolo povedané, že sa má vykonať. Rovnako ako v prípade Cronu, zoznam úloh sa ukladá do textového súboru s názvom anacrontab, ktorý sa volá pomerne neoriginálny. Ale je tu jeden dôležitý rozdiel, V tomto prípade sa dátum nastaví stanovením dňa, oneskorenia v minútach, identifikátora úlohy a príkazu, ktorý sa má vykonať.

Anacron pri každej úlohe kontroluje, či bola vykonaná v rámci určitého počtu dní. Tento počet dní predstavuje obdobie určené pre danú prácu. Ak sa nespustil, Anacron počká požadovaný počet minút a potom sa spustí. Potom si zaznamenajte dátum, ktorý slúži ako indikátor, kedy ho spustiť znova.

Anacron nájdeme pod názvom alebo v balíku cronie vo významných distribúciách.

Pre jeho spustenie musíme zadať nasledujúce parametre:

-F: Vykonanie úlohy, aj keď nie je v uvedený dátum.

-alebo: Zmení dátum úloh na aktuálny deň, ale nevykoná ich.

-s: Označuje, že úloha sa vykoná po dokončení predchádzajúcej úlohy.

-n: Je to ako použitie parametrov -fy

-q: Ak sa použije s parametrom -d, zabráni sa zobrazovaniu chybových hlásení.

-t: Povie Anacronu, kde má nájsť zoznam úloh.

-T: Skontroluje nastavenia zoznamu úloh a v prípade potreby zobrazí chybové hlásenie.

-S Určuje adresár, v ktorom sú uložené časové pečiatky.

V súbore Anacrontab musíme pridať nasledujúce parametre

SHELL=/bin/bash: Určuje, že Bash sa má použiť ako interpret príkazov.

POŠTOVÉ ODOSLANÍ= Za znamienkom rovnosti uvádzame e-mailovú adresu, na ktorú nám má byť zaslaná správa o chybe. Hoci v desktopových distribúciách to nie je potrebné.

CESTA=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin: Vďaka tomu nemusíme ku každej úlohe pridávať trasu.

Syntax úlohy Anacrontab je príkaz period delay job id, kde:

Obdobie: Je to frekvencia, s akou sa musí práca vykonávať. Môže byť označený ako obdobie (@denne, @týždenne alebo @mesačne pre deň, týždeň alebo mesiac) alebo číslami (1 pre deň, 7 pre týždeň, 30 pre mesiac a ľubovoľné číslo pre ľubovoľné obdobie dní).
Oneskorenie: Toto je čas, ktorý treba počkať pred spustením. Vyjadruje sa v minútach
ID úlohy: Je to názov priradený úlohe, aby sa odlíšila od ostatných
Príkaz: Toto je príkaz, ktorý musí anacron spustiť v zadanom čase.
Taktiež potrebujeme vytvoriť adresár na spúšťanie rôznych úloh.

mkdir -p ~/.local/etc/anacrontab: ~/.local/etc/cron.daily ~/.local/etc/cron.weekly ~/.local/etc/cron.daily ~/.var/spool/anacron

Týmto sa vytvoria adresáre, kde sa uložia denné, týždenné a mesačné skripty vykonávania a správa o poslednom spustení anacronu.

Ak chcete, aby používal tieto priečinky:

anacron -fn -t ~/.local/etc/anacrontab -S ~/.var/spool/anacron

Konfiguračný súbor upravujeme z terminálu

nano ~/.local/etc/anacrontab

Pridávame tieto riadky:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Je možné nakonfigurovať dve ďalšie premenné

START_HOURS_RANGE: Označuje, že úlohy by sa mali začať iba v určitom časovom rámci.
RANDOM_DELAY: Nastavuje maximálne náhodné oneskorenie

Týmto uzatvárame náš stručný prehľad dvoch užitočných nástrojov príkazového riadka na automatizáciu úloh na našich počítačoch. V neskorších článkoch uvidíme, že existujú aj grafické aplikácie, ktoré nám umožňujú robiť to isté.