Anacron
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
- ↑ anacron(8) - Linux man page (linux.die.net)
- ↑ Anacron (de.wikipedia.org)
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. |