GNU/Linux >> Znalost Linux >  >> Linux

Služba Linux OS „anacron“

Název služby

anacron

Cron vs Anacron

Podobně jako služba cron spouští služba anacron aplikace nebo skripty v určitých časech a datech. To umožňuje spolehlivý bezobslužný provoz systému – plánované události nezmeškáte, pokud systém selže – místo toho jsou spuštěny co nejdříve po jejich naplánovaném čase. Kandidáti na akci anacronu jsou často činnosti správy systému, jako je rotace protokolů, které je nutné provést, i když pozdě.

Na rozdíl od služby cron, anacron nezmešká provedení naplánované úlohy, i když je systém vypnutý. Aktivita bude provedena, až bude systém příště dostupný. Díky tomu je anacron preferovanou volbou pro zahájení základních úloh správy systému, jako je zálohování nebo obnova místa na disku.

Práce jsou obvykle rozděleny do tří tříd – denní, týdenní a měsíční. Řídicí skripty jsou běžné příkazové řádky shellu a jsou umístěny v adresáři /etc/cron.[class]. Anacron zajišťuje spuštění každé úlohy v naplánovaném intervalu; není zaručena žádná konkrétní doba pro provedení těchto úloh. Při každém spuštění úlohy se aktualizuje soubor časového razítka /var/spool/anacron/cron.[class]. Tento soubor časového razítka je také stejný mechanismus, který anacron používá k určení, zda je třeba úlohy spustit.

Řízení služeb

Pro správu služby anacron při budoucích restartech a vypnutích použijte nástroj chkconfig:

# chkconfig anacron on
# chkconfig --list anacron
anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig anacron off

Chcete-li službu anacronu ovládat okamžitě, použijte příkaz service:

# service anacron 
Usage: /etc/init.d/anacron {start|stop|restart|condrestart|status}

Následující tabulka popisuje každý dostupný příkaz:

Příkaz Popis
start Vyvolejte démona anacron(8) a zadejte přepínač příkazového řádku „-s“. To přinutí anacron(8) spouštět všechny naplánované aplikace a skripty sériově, místo aby je všechny spouštěl paralelně.
stop Ukončí démona anacron(8). Žádné aktivní aplikace nebo skripty nejsou ovlivněny a nadále běží až do svého dokončení.
restartovat Ekvivalentní příkazu stop a potom příkazu start.
condrestart Ignorováno, pokud služba anacronu aktuálně není spuštěna, jinak ekvivalentní příkazu restartu. Obvykle se používá při upgradech RPM, aby se zabránilo neúmyslnému spuštění služby.
stav Zobrazuje „anacron je zastaven“, pokud démon aktivně nespouští naplánované aplikace nebo skripty.

Jak zkontrolovat, zda běží anacron

Všimněte si, že nestandardní chování příkazu status nelze použít k určení, zda byl anacron spuštěn od posledního spuštění systému. Místo toho použijte časové razítko souborů v /var/spool/anacron adresář. Tyto soubory se dotknou, když dojde k jejich odpovídající události:

# ls -lrt /var/spool/anacron 
total 12
-rw-------. 1 root root 9 Jul 27 03:12 cron.monthly
-rw-------. 1 root root 9 Aug 18 03:10 cron.weekly
-rw-------. 1 root root 9 Aug 18 04:09 cron.daily

Výše uvedený výstup označuje poslední měsíční událost anacron, ke které došlo 27. července ve 3:12.

Konfigurace služby

Chcete-li získat službu anacron spolu s jejím démonem a souvisejícími řídicími soubory, nainstalujte si balíček anacron:

# yum install cronie-anacron.x86_64

Události, které anacron rozpozná, jsou definovány v /etc/anacrontab soubor. Výchozí soubor je uveden níže:

# cat /etc/anacrontab 
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# Events are defined below
1 65 cron.daily run-parts /etc/cron.daily
7 70 cron.weekly run-parts /etc/cron.weekly
30 75 cron.monthly run-parts /etc/cron.monthly

Řádky se syntaxí VAR=VALUE přiřazují hodnoty prostředí shellu předávanému skriptům a aplikacím spuštěným, když dojde k události. Každý démon anacronu nemá pevně zapojené události. Místo toho jsou události definovány explicitně v souboru /etc/anacrontab. Ve výchozím nastavení jsou události definovány každých jeden, sedm a třicet dní. Formát definice události je:

[days]  [delay]  [job_id]  [command] [[arg] ...]

Tady,
dny :definuje, jak často se má [příkaz] spouštět ve dnech.
zpoždění :počet minut v den události před vyvoláním [příkazu].
job_id :identifikuje úlohu anacronu v souborech protokolu a používá se k pojmenování souboru časového razítka vytvořeného v /var/spool/anacron


Linux
  1. Služba operačního systému Linux „dhcpd“

  2. Linux OS Service „iptables“

  3. Linux OS Service ‚síť‘

  1. Služba „portmap“ operačního systému Linux

  2. Služba „audit“ operačního systému Linux

  3. Služba Linux OS „NetFS“

  1. Služba Linux OS „ldap“

  2. Služba OS Linux „yppasswdd“

  3. Linux OS Service ‚xendomény‘