Aastal eelmises artiklis Ma rääkisin sulle cronist, süsteemiprogrammist, mis käivitab ülesandeid automaatselt kindlal ajal. Nüüd vaatame, kuidas Anacroniga ülesandeid automatiseerida. Anacron võimaldab meil ületada ühe Croni nõrkuse. Kui arvuti on ülesande täitmise ajal välja lülitatud, siis seda ei tehta enne järgmist aastaaega, kui arvuti on sisse lülitatud.
Anacroni puhul Kui arvuti uuesti sisse lülitatakse, täidab see pooleli jäänud ülesandeid.
Kuidas automatiseerida ülesandeid Anacroniga
Arvuti käivitumisel otsib Anacron, millal antud käsku viimati täideti ja kui tihti seda käsku täideti. Nii nagu Croni puhul, salvestatakse ülesannete loend tekstifaili nimega üsna ebaoriginaalne anacrontab. Kuid on üks oluline erinevus, Sellisel juhul määratakse kuupäev, määrates päeva, minutites väljendatud viivituse, töö identifikaatori ja täidetava käsu.
Anacron kontrollib iga ülesande puhul, kas see täideti teatud arvu päevade jooksul. See päevade arv on selle töö jaoks määratud periood. Kui see pole veel käivitunud, ootab Anacron nõutud arvu minuteid ja teeb seda. Seejärel pange kirja kuupäev, mis annab märku, millal seda uuesti käivitada.
Anacroni leiab nime järgi või suuremates distributsioonides paketist cronie.
Selle käivitamiseks peame määrama järgmised parameetrid:
-F: Ülesande täitmine isegi siis, kui see ei ole määratud kuupäeval.
- või: Muudab tööde kuupäeva tänaseks päevaks, aga ei käivita neid.
-s: Näitab, et ülesanne täidetakse pärast eelmise lõppemist.
-n: See on nagu parameetrite -fy kasutamine.
-q: Koos -d-ga kasutamisel takistab see veateadete kuvamist.
-t: Annab Anacronile teada, kust ülesannete nimekirja leida.
-T: Kontrollib ülesannete loendi sätteid ja kuvab vajadusel veateate.
-S Määrab kataloogi, kuhu ajatemplid salvestatakse.
Anacrontab-faili peame lisama järgmised parameetrid
SHELL=/bin/bash: Määrab, et käskude interpretaatorina tuleks kasutada Bashi.
MAILTO= Võrdusmärgi järel märgime e-posti aadressi, kuhu saata meile veateade. Kuigi töölauaversioonides pole seda vaja teha.
TEE=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin: See võimaldab meil mitte iga ülesande jaoks marsruuti lisada.
Anacrontabi ülesande süntaks on perioodi viivitus töö ID käsk, kus:
Periood: See on sagedus, millega tööd tuleb teha. Seda saab näidata perioodina (@daily, @weekly või @monthly päeva, nädala või kuu jaoks) või numbritega (1 päeva, 7 nädala, 30 kuu ja mis tahes arv mis tahes päevade arvu tähistamiseks).
Viivitus: see on aeg, mille jooksul tuleb enne alustamist oodata. See on väljendatud minutites
Töö ID: See on ülesandele määratud nimi, et seda teistest eristada.
Käsk: See on käsk, mille anacron peab määratud ajal käivitama.
Samuti peame looma kataloogi erinevate ülesannete käivitamiseks.
mkdir -p ~/.local/etc/anacrontab: ~/.local/etc/cron.daily ~/.local/etc/cron.weekly ~/.local/etc/cron.daily ~/.var/spool/anacron
See loob kataloogid, kuhu salvestatakse igapäevased, iganädalased ja igakuised täitmisskriptid ning viimase anacroni täitmise aruanne.
Nende kaustade kasutamise käskimiseks toimige järgmiselt.
anacron -fn -t ~/.local/etc/anacrontab -S ~/.var/spool/anacron
Me redigeerime terminalist konfiguratsioonifaili
nano ~/.local/etc/anacrontab
Lisame need read:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Kaks muud muutujat saab konfigureerida
START_HOURS_RANGE: Tööde alustamise ajavahemiku näitamiseks teatud aja jooksul.
RANDOM_DELAY: Määrab maksimaalse juhusliku viivituse
See lõpetab meie lühikese ülevaate kahest kasulikust käsurea tööriistast meie arvutites ülesannete automatiseerimiseks. Hilisemates artiklites näeme, et on olemas ka graafilisi rakendusi, mis võimaldavad meil sama teha.