Anacron

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird.
Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar.

Anacron "anac(h)ronistic cron" wird benutzt um Kommandos periodisch ähnlich wie bei cron auszuführen. Anacron ist (im Gegensatz zu cron) für Systeme ausgelegt, die nicht dauerhaft laufen (z.B. Desktops oder Server, die Nachts und am Wochenende abgeschaltet werden). Anacron ist unter der GNU GPL (General Public License) lizenziert und in der aktuellen Version in C implementiert.[1][2]

Funktion

Sie können mit Anacron tägliche, wöchentliche und monatliche Kommandos ausführen lassen. Anacron arbeitet im Gegensatz zu cron nicht mit definierten Zeitpunkten sondern mit Zeitstempeln. Eine Aufgabe wird ausgeführt und anschließend der Zeitstempel der letzten Durchführung im Format YYYYMMDD gespeichert. Wenn dieser Zeitstempel einer täglichen Aufgabe auf den Vortag datiert ist, führt Anacron diese Aufgabe wieder am nächsten Tag aus und setzt den Zeitstempel erneut. Die Konfiguation erfolgt in der anacrontab und die Zeitstempel werden in dem Verzeichnis /var/spool/anacron/ abgelegt. Die Skripte die anacron ausführt, werden in den Verzeichnissen /etc/cron.daily|weekly|monthly abgelegt.

Hinweise

Stündliche Aufgaben werden jedoch per cron ausgeführt, was auch einen installierten cron Daemon auf dem System bedingt. Ebenso ist darauf zu achten, dass die Zeitzone korrekt gesetzt ist, da sie Auswirkungen auf die Zeitstempel hat. Anacron überprüft bei jeder Aufgabe ob diese entsprechend der Konfiguration bereits ausgeführt wurde. Ist dies nicht der Fall, führt Anacron die Aufgabe möglichst zeitnah zum ursprünglichen Zeitpunkt aus.

Installation

Anacron wird mittels apt-get install anacron installiert.

Verzeichnisse und Dateien

Anacron verwendet verschiedene Dateien und Verzeichnisse. Sie werden nachfolgend aufgeführt und die Funktionsweise von Anacron erläutert.

anacrontab

Zum einen existiert die anacrontab im Verzeichnis /etc/. Diese Datei enthält die Konfiguration von Anacron. Die Parameter SHELL, PATH und HOME können ggf. angepasst werden. Die Konfigurationseinträge cron.daily, cron.weekly und cron.monthly sollten unverändert bleiben. Anacron liest diese Einträge und führt zum Beispiel durch die Zeile 1 5 cron.daily run-parts --report /etc/cron.daily einmal täglich alle in /etc/cron.daily abgelegten Skripte aus. Nach Systemstart wird 5 Minuten gewartet bis diese Skripte ausgeführt werden. Nach der erfolgreichen Ausführung aller Skripte in /etc/cron.daily wird dann der Zeitstempel der Datei cron.daily im Ordner /var/spool/anacron/ neu gesetzt.


root@rsnapshot-test:~# cat /etc/anacrontab 
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root

# These replace cron's entries
1	5	cron.daily	run-parts --report /etc/cron.daily
7	10	cron.weekly	run-parts --report /etc/cron.weekly
@monthly	15	cron.monthly	run-parts --report /etc/cron.monthly

E-Mail Versand

Zusätzlich kann automatisch eine E-Mail verschickt werden, eine Installation eines MTAs wie Postfix ist hierfür erforderlich.

Folgender Eintrag wird hierzu in den Block zu SHELL und PATH mit angefügt: MAILTO="user@localhost"

Verzeichnis /var/spool/anacron/

Des weiteren gibt es das Verzeichnis /var/spool/anacron/. Hier werden die Zeitstempel der einzelnen Aufgaben abgelegt.

root@rsnapshot-test:~# ls -la /var/spool/anacron/
total 20
drwxr-xr-x 2 root root 4096 Aug 11 10:57 .
drwxr-xr-x 6 root root 4096 Aug 10 17:05 ..
-rw------- 1 root root    9 Aug 12 09:26 cron.daily
-rw------- 1 root root    9 Aug 11 11:26 cron.monthly
-rw------- 1 root root    9 Aug 11 11:26 cron.weekly

Hier sehen Sie die Zeitstempel der Anacron-Aufgaben. In diesem Beispiel hat cron.daily den Zeitstempel 12.08.2015. Dies bedeutet, dass an diesem Tag die tägliche(n) Aufgabe(n) durchgeführt wurde(n). Diese Aufgabe wird somit an diesem Tag nicht mehr durchgeführt. Am folgenden Tag wird der tägliche Job erneut ausgeführt und ein neuer Zeitstempel 20150813 eingefügt.

root@rsnapshot-test:~# cat /var/spool/anacron/cron.daily 
20150812
root@rsnapshot-test:~# cat /var/spool/anacron/cron.weekly 
20150811
root@rsnapshot-test:~# cat /var/spool/anacron/cron.monthly 
20150811

Beispiel

Eine beispielhafte Konfiguration eines Anacron-Jobs wird im Artikel Backup unter Linux mit rsnapshot erläutert.

Syslog

Informationen über die Aktivitäten von anacron werden an syslog übermittelt.

root@rsnapshot-test:~# tail /var/log/syslog
Aug 12 12:17:01 rsnapshot-test CRON[1451]: (CRON) info (No MTA installed, discarding output)
Aug 12 13:17:01 rsnapshot-test CRON[1483]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Aug 12 13:17:01 rsnapshot-test rsnapshot[1498]: /usr/bin/rsnapshot hourly: completed successfully
Aug 12 13:17:01 rsnapshot-test CRON[1482]: (CRON) info (No MTA installed, discarding output)
Aug 12 14:17:01 rsnapshot-test CRON[1594]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Aug 12 14:17:02 rsnapshot-test rsnapshot[1609]: /usr/bin/rsnapshot hourly: completed successfully
Aug 12 14:17:02 rsnapshot-test CRON[1593]: (CRON) info (No MTA installed, discarding output)
Aug 12 15:17:01 rsnapshot-test CRON[1684]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Aug 12 15:17:01 rsnapshot-test rsnapshot[1699]: /usr/bin/rsnapshot hourly: completed successfully
Aug 12 15:17:01 rsnapshot-test CRON[1683]: (CRON) info (No MTA installed, discarding output)

Einzelnachweise

  1. anacron(8) - Linux man page (linux.die.net)
  2. Anacron (de.wikipedia.org)


Foto Thomas Niedermeier.jpg

Autor: Thomas Niedermeier

Thomas Niedermeier arbeitet im Product Management Team von Thomas-Krenn. Er absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich unter anderem um OPNsense Firewalls, das Thomas-Krenn-Wiki und Firmware Sicherheitsupdates.

Icon-Twitter.png 

Das könnte Sie auch interessieren

Asterisk Grundkonfiguration erstellen
Automatisches Laden von Linux Kernel Modulen beim Booten
Cacti installieren