Mēs veidojam Linux programmatūras un rīku sarakstu, kas tiek izmantots kā ceļvedis septiņu nāves grēku sarakstam. Tāpat kā iepriekšējos rakstos, mēs izmantojam slinkumu kā attaisnojumu runāt par automatizācijas rīkiem operētājsistēmā Linux. Viens no tiem anakronā. Šajā rakstā mēs redzēsim, kā notiek anakrontab konfigurācija. anacrontab ir tas, kas anacron norāda, kas un kad tas jādara.
Anakronā uzdevumu datums ir fiksēts dienās un, ja dators nedarbojas uzdevuma izpildes laikā, tas tiek palaists, kad tas tiek palaists.
Anakrontab konfigurācija
Sākotnēji anacron direktorijā meklē izpildāmo uzdevumu sarakstu /etc/anacrontab
. Uzdevumi jāraksta šādā formātā:
período retraso identificador del trabajo comando donde:
- periodā: Biežums, ar kādu darbs jāveic. To var izteikt dienās (tā saīsinājums angļu valodā) periodos (@daily, @weekly vai @monthly — dienai, nedēļai vai mēnesim) vai ar cipariem (1 — dienai, 7 nedēļai, 30 — mēnesim un jebkurš skaitlis patvaļīgs dienu periods.
- kavēšanās: Laiks, kas jāgaida pirms darba uzsākšanas. Piemēram, 360, lai izpildītu uzdevumu pulksten 6 no rīta.
- darba identifikators: darbam piešķirtais nosaukums, lai kļūdu un rezultātu pārskatos to atšķirtu no citiem
- desantnieks: Tā ir instrukcija, kas anacron jāizpilda norādītajā brīdī.
.
Tā kā mūsu mērķis ir izmantot anacronu uzdevumiem, kas nav saistīti ar sistēmas administrēšanu, mēs replicēsim cron izmantotos direktorijus mūsu vietējā lietotāja mapē. mēs to darām ar
mkdir -p ~/.local/etc/anacrontab: ~/.local/etc/cron.daily ~/.local/etc/cron.weekly ~/.local/etc/cron.daily ~/.var/spool/anacron
Ar to mēs izveidojam direktorijus, lai saglabātu dažādus dienas, nedēļas un mēneša skriptus, kā arī vietu, kur tiks saglabāts ziņojums par pēdējo anacron izpildi.
Visbeidzot, mēs sakām anacron izmantot mūsu lokālo lietotāju mapes, nevis sistēmas mapes.
anacron -fn -t ~/.local/etc/anacrontab -S ~/.var/spool/anacron
Tagad mēs rediģēsim konfigurācijas failu. Mēs to darām no termināļa ar:
nano ~/.local/etc/anacrontab:
Atvērtajā dokumentā mēs pievienojam šīs rindas:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Šīs rindas pilda tās pašas funkcijas, kuras mēs jau paskaidrojām crontab. Norādiet, ka jums vajadzētu izmantot Bash kā komandu tulku un kādos direktorijos atrast izpildāmos failus. Mēs saglabājam dokumentu ar maijs + 0 un mēs to aizveram ar Shift + X.
Mūsu izveidoto cron mapju nosaukums un atrašanās vieta ir patvaļīga izvēle. Esmu izvēlējies saglabāt noklusētos, lai nemulsinātu lasītājus, kuri pieprasa papildu informāciju no citiem avotiem. Kamēr acrontab ir norādīts ceļš uz skriptu, varat izmantot vēlamo mapi un krātuves ceļu. Tas pats attiecas uz darba identifikatoru.
Ir divi citi mainīgie, kurus mēs varam konfigurēt:
- START_HOURS_RANGE
- RANDOM_DELAY
: iestata laika diapazonu, kurā darbi tiks sākti (ti, izpildiet darbus tikai nākamajās stundās).
: definē maksimālo nejaušo aizkavi, kas pievienota lietotāja noteiktai darba aizkavei (noklusējums ir 45).
Kāda ir atšķirība starp cron un anakron?
cron ir tas, ko sistēmās un atvasinājumos sauc par a dēmons tas ir, programma, kas darbojas fonā un bez lietotāja iejaukšanās. Tas ir paredzēts serveriem, tas ir, iekārtas, kas darbojas gandrīz pastāvīgi, nevienam nepievēršot uzmanību, bet kurām ir nepieciešami bieži apkopes darbi.
anacron ir parasta programma vairāk piemērots galddatoriem Tie nedarbojas nepārtraukti. Tāpēc atšķirībā no cron, kur mazākā laika vienība ir minūte, tas darbojas ar minimālo biežumu vienu dienu.
Tā paša iemesla dēļ cron neietver alternatīvas, ja dators nav ieslēgts.vai kamēr anacron pieteikšanās laikā veic neapstiprinātos uzdevumus. Atrodot darbu, kas nav uzsākts noteiktajā laikā, tas izpildīs komandas laukā norādīto komandu pēc tam, kad būs nogaidījis aizkaves laukā norādīto minūšu skaitu. Pēc tam datums tiks reģistrēts laikspiedola failā.