Anacron je služba, která se spouští po každém restartu systému, kontroluje všechny cron a naplánované úlohy, které se měly spouštět, když byl systém mimo provoz, a tedy ještě nebyly spuštěny. Prohledá /etc/cron.hourly/anacron pro tři faktory, abyste určili, zda tyto zmeškané úlohy spustit. Těmito třemi faktory jsou přítomnost souboru /var/spool/anacron/cron.daily, doba 24 hodin od posledního spuštění anacronu a přítomnost střídavého napájení v systému. Pokud jsou všechny tři faktory kladné, anacron pokračuje a automaticky spustí skripty umístěné v /etc/cron.daily , /etc/cron.weekly a /etc/cron.monthly adresářů, na základě nastavení a podmínek definovaných v hlavním konfiguračním souboru anacronu /etc/anacrontab. Výchozí obsah souboru /etc/anacrontab je zobrazen níže:
$ cat /etc/anacrontab SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root RANDOM_DELAY=45 START_HOURS_RANGE=3-22 #period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly
Tento soubor má definováno pět proměnných prostředí:SHELL a PATH proměnné nastavují shell a cestu, která se má použít pro spouštění skriptů (definováno na konci tohoto souboru); MAILTO definuje uživatelské jméno nebo e-mail, na který se zasílají výstupy a chybové zprávy; RANDOM_DELAY vyjadřuje maximální náhodné zpoždění v minutách (přičteno k základnímu zpoždění úloh definovanému ve druhém sloupci posledních tří řádků) a START_HOURS_RANGE uvádí rozsah hodin, kdy mohou úlohy začít.
Poslední tři řádky ve výše uvedeném vzorovém výstupu definují plán a skripty, které mají být provedeny. První sloupec představuje období ve dnech (nebo @denně, @týdně, @měsíčně nebo @roky), které anacron používá ke kontrole, zda byla zadaná úloha provedena v tomto počtu dnů nebo období, druhý udává zpoždění v minutách pro anacron, aby počkal před provedením úlohy, třetí identifikuje identifikátor úlohy a čtvrtý sloupec určuje příkaz, který se má použít ke spuštění obsahu souborů /etc/cron.daily, /etc/cron.weekly a /etc/cron .měsíční soubory. Zde se příkaz run-parts používá ke spuštění všech souborů ve třech umístěních adresáře ve výchozím nastavení.
U každé úlohy anacron zkontroluje, zda byla úloha dříve spuštěna v zadaných dnech nebo období (sloupec 1), a pokud nebyla spuštěna, po uplynutí počtu minut (sloupec 2) ji provede. Anacron lze spustit ručně z příkazového řádku. Chcete-li například spustit všechny úlohy, které jsou naplánovány v souboru /etc/anacrontab, ale nebyly vynechány, můžete zadat následující příkaz:
# anacron
Anacron ukládá své datum provedení do souborů umístěných v adresáři /var/spool/anacron pro každý definovaný plán.