Anacron
Artiklist
Autor: Jarmo Kungla
Rühm: AK21 2014 sügis
Sissejuhatus
Selles artiklis seletatakse lahti käsu Anacron kasutamise võimalused ja viisid. Anacroni kasutataks käskude perioodiliseks käivitamiseks. Ta on väga sarnase käsule cron, kuid Anacron on pigem mõeldud lauaarvutitele või sülearvutitele, sest ta ei eelda, et süsteem peaks olema sisse lülitatud 24/7. See muidugi ei tähenda, et käsud käivituvad suletud masinas vaid seda, et Anacrontabis määratud käsud käivituvad siis kui süsteem järgmine kord uuesti sisse lülitatakse. Anacrontab on Anacroni fail, milles on defineeritud käivitatavad käsud ning ajakava. Anacrontab fail on algselt määratud muudetavaks vaid root kasutaja alt (faili õiguseid on võimalik muuta kuid see ei ole turvalisuse huvides soovitatav).
Anacron tööpõhimõte
Anacron loeb kõik käsud ja reeglid mida ta täitma peab Anacrontab failist, mis asub /etc/anacrontab. Iga rida on omaette tegevus, mida Anacron täidab vastavalt määratud perioodile päevades, viivitusele minutites, unikaalsele tegevuse identifikaatorile ning shell käsule. Iga tegevuse korral kontrollib Anacron kas see tegevus on käivitatud viimase N-päeva jooksul, kus N on aja periood päevades ette antud sellele tegevusele. Kui tegevus ei ole käivitatud, siis Anacron käivitab ette antud käsu peale viivituse ära ootamist. Kui tegevus on täidetud, salvestab Anacron selle hetke kuupäeva spetsiaalses formaadis identifikaatori nimelisse faili, et ta teaks, millal seda tegevust uuesti käivitada. [1]
Anacrontabi formaat
periood viivitus identifikaator käsk
Väli 1 - Kordusperiood
Tegemist on numbrilise väärtusega, mis määrab päevade arvu, kui tihti tegevus käivitatakse.
- 1 - Iga päev
- 7 - Kord nädalas
- 30 - Igakuiselt (võib ka kasutada @monthly)
- N - Ükskõik milline number. Tähistab päevade arvu
Väli 2 - Viivitus
. Tegemist on numbrilise väärtusega, mis näitab minutites, kui kaua tuleb peale masina käivitamis oodata, et tegevus käivitada.
Väli 3 - Tegevuse identifikaator
See peab olema unikaalne nimetus igale tegevusele. Samuti on igale unikaalsele identifikaatorile olemas sama nimeline fail kaustas /var/spool/anacron/. See fail sisaldab ainult ühte rida numbreid, mis näitavad, millal viimati see tegevus käivitati.
# ls -1 /var/spool/anacron/ test.daily cron.daily cron.monthly cron.weekly # cat /var/spool/anacron/test.daily 20110507
Väli 4 - Tegevuse käsk või fail
See on kas shell käsk või suunatud fail, mida Anacron käivitab.
Samamoodi nagu shell script, käib ka Anacrontab failis kommentaarid # märgi taha.
Anacrontab näide
# cat /etc/anacrontab 7 15 test.daily /bin/sh /home/sathiya/backup.sh
See näide käivitab /home/sathiya/backup.sh skripti korra iga 7 päeva tagant. Kui käivitamise hetkel on arvuti või süsteem välja lülitatud siis käivitub peale arvuti järgmist sisse lülitamist 15 minutiline viivitus ja peale seda alles /home/sathiya/backup.sh skript.
START_HOURS_RANGE ja RANDOM_DELAY
- Erinevalt Crontabist, ei ole Anacrontabis ära määratud täpset kellaaega, millal vastav tegevus käivitatakse kui süsteem ei ole välja lülitatud. Selleks lisatakse Anacrontab faili START_HOURS_RANGE muutuja. Vaikimisi on selleks väärtuseks START_HOURS_RANGE = 3-22, mis tähendab, et vastav tegevus käivitatakse ajavahemikus kell 3:00 kuni 22:00.
- Lisaks kasutaja poolt lisatud viivitusele Anacrontabis on võimalik lisada veel suvaliselt valitud minuteid viivitust otsa. RANDOM_DELAY muutuja käib samuti Anacrontab faili ning tema vaikimisi väärtuseks on RANDOM_DELAY = 45, mis tähendab, et võetakse suvaline arv 0-st kuni 45-ni ning liidetakse see otsa juba määratud viivitusele.
[3]
Anacron käsu kasutamine
anacron [võtmed] [tegevus]
Võtmete kirjeldused
-f Sunniviisiliselt käivitab kõik tegevused. Ignoreerib kordusperioodi väärtust. -u Uuendab kõikide tegevuste kordusperioodi väärtuse tänasele kuupäevale. Ei käivita tegevusi. -s Järjestab tegevused. Ei käivita järgmist tegevust enne kui eelmine tehtud saab. -n Sunniviisiliselt käivitab kõik tegevused ignoreerides kordusperioodi ja viivituse väärtust. -d Ei suuna Anacroni taustale töötama. Kasutatakse paremaks käsu väljundi lugemiseks. -q Suunab iga väljundi standartsesse vea lahtrisse. Töötab vaid koos -d võtmega. -t mingi_anacrontab Kasutab mõnda teist Anacrontab faili, mitte vaikimisi /etc/anacrontab faili. -T Testimiseks. Valideerib Anacrontabi faili sisu. Leiab üles failis olevad vead. -S spooldir Kasutab vastavat spooldir-i, kus kordusperioodi väärtuseid hoida. -V Kuvab versiooni informatsiooni. -h Kuvab lühikese kasutamis õpetuse.
[1]
Kokkuvõte
Millal valida Cron asemel Anacron?
- Anacron ei nõua süsteemi töötamist 24/7. Käsud pannakse tööle siis kui süsteem taas käivitatakse.
- Sobib paremini lauaarvutis või sülearvutis kasutades.
- Anacrontabis ei ole võimalik täpsustada tunde ja minuteid, millal tegevust tuleb käivitada.
- Anacron on mõeldud kasutama administraatori õigustes(vajadusel on võimalik ka tava kasutaja õigustes)
Kasutatud kirjandus
[1] http://linux.die.net/man/8/anacron
[2] http://linux.die.net/man/5/anacrontab
[3] http://www.thegeekstuff.com/2011/05/anacron-examples/