ANACRON(8) | Anacron-Benutzerhandbuch | ANACRON(8) |
anacron - Befehle periodisch ausführen
anacron [-s] [-f] [-n] [-d]
[-q] [-t Anacrontab] [-S Spool-Verzeichnis]
[Auftrag] …
anacron [-S Spool-Verzeichnis] -u [-t Anacrontab]
[Auftrag] …
anacron [-V|-h]
anacron -T [-t Anacrontab]
Anacron kann zum periodischen Ausführen von Befehlen verwendet, wobei die Häufigkeit in Tagen angegeben wird. Im Gegensatz zu cron(8) wird nicht angenommen, dass der Rechner ununterbrochen in Betrieb ist. Daher kann es auch auf Rechnern, die nicht 24 Stunden täglich laufen, für regelmäßig täglich, wöchentlich oder monatlich auszuführende Aufträge verwendet werden, die normalerweise cron steuert.
Bei der Ausführung liest Anacron eine Liste der Aufträge aus der Konfigurationsdatei, normalerweise /etc/anacrontab (siehe anacrontab(5)). Diese Datei enthält die Liste der Aufträge, die Anacron steuert. Jeder Auftrag gibt eine Periode in Tagen, eine Verzögerung in Minuten, einen eindeutigen Auftragsbezeichner und einen Shell-Befehl an.
Bei jedem Auftrag prüft Anacron, ob dieser Auftrag in den letzten n Tagen ausgeführt wurde, wobei n die für diesen Auftrag angegebene Zeitperiode ist. Falls nicht, führt Anacron nach der in Minuten angegebenen Verzögerung den Shell-Befehl dieses Auftrags aus.
Nachdem die Befehlsausführung beendet ist, zeichnet Anacron das Datum (ohne die Stunde) in einer speziellen Zeitstempeldatei für diesen Auftrag auf, so dass es weiß, wann dieser Auftrag wieder ausgeführt werden muss. Für die Zeitberechnung wird nur das Datum, aber nicht die Stunde verwendet.
Wenn keine Aufträge mehr auszuführen sind, wird Anacron beendet.
Anacron berücksichtigt nur Aufträge, deren Bezeichner, der in Anacrontab angegeben ist, auf irgendein Befehlszeilenargument des Auftrags passt. Die Befehlszeilenargumente des Auftrags können durch Shell-Platzhaltermuster angegeben werden, wobei Sie sicherstellen müssen, dass diese durch entsprechende Maskierung vor der Interpretation durch die Shell selbst geschützt werden. Wenn keine Befehlszeilenargumente für den Auftrag angegeben werden, ist dies gleichbedeutend mit der Angabe von »*« (was bewirkt, dass Anacron alle Aufträge berücksichtigt).
Außer wenn Anacron mit der Option -d aufgerufen wird (Beschreibung siehe unten), wird es beim Start per Fork in den Hintergrund verschoben und der Elternprozess wird unmittelbar beendet.
Außer wenn Anacron mit den Optionen -d oder -n aufgerufen wird, startet es die Aufträge unmittelbar nachdem deren Verzögerungszeit verstrichen ist. Die verschiedenen Aufträge werden völlig unabhängig voneinander ausgeführt.
Falls ein ausgeführter Auftrag etwas in die Standardausgabe oder Standardfehlerausgabe schreibt, werden diese Ausgaben per E-Mail an den Benutzer, unter dessen Benutzerkonto Anacron ausgeführt wird (üblicherweise »root«), gesendet. Falls in der Crontab die Umgebungsvariable MAILTO gesetzt ist, werden die Ausgaben stattdessen an die dort angegebene Adresse gesendet.
Alle durch Anacron erzeugten informativen Meldungen werden an syslogd(8) gesendet, wobei die Einrichtung auf cron und die Priorität auf notice gesetzt wird. Alle Fehlermeldungen werden mit der Priorität error versendet.
»Aktive« Aufträge (solche, über deren Ausführung Anacron bereits entschieden hat und die nun auf das Verstreichen der Verzögerungszeit warten, sowie Aufträge, die bereits von Anacron ausgeführt werden), sind »gesperrt«, so dass weitere Instanzen von Anacron diese nicht zur gleichen Zeit ausführen können.
Nachdem ein SIGUSR1-Signal empfangen wurde, wartet Anacron auf den Abschluss eventuell noch laufender Aufträge und beendet sich dann. Dies kann dazu verwendet werden, um Anacron korrekt zu beenden.
Stellen Sie vor der Ausführung von Anacron sicher, dass die Einstellung der Zeitzone korrekt ist, da diese sich auf das Datum auswirkt. Dies erreichen Sie üblicherweise durch Setzen der Umgebungsvariable TZ oder durch Installation einer Datei /usr/lib/zoneinfo/localtime. In tzset(3) finden Sie weitere Informationen.
Zeitstempeldateien werden für jeden in der Anacrontab aufgeführten Auftrag im Spool-Verzeichnis angelegt. Diese Dateien werden von Anacron niemals automatisch entfernt und sollten manuell gelöscht werden, sobald ein Auftrag nicht mehr planmäßig ausgeführt werden soll.
Auf Debian-basierten Systemen wird Anacron jeden Tag stündlich zwischen 7.30 Uhr und 23.30 Uhr lokaler Zeit aktiviert. Das geschieht auf Systemen ohne Systemd über einen Cron-Auftrag und auf Systemen mit Systemd über einen Systemd-Timer. Bei der Aktivierung prüft Anacron, ob eventuell Aufträge übergangen worden sind. In solchen Fällen werden diese Aufträge nach einer kurzen Zeitspanne gestartet.
Standardmäßig wird Anacron nicht stündlich aktiviert, wenn das System über Akkus mit Strom versorgt wird und keine Netzspannung angeschlossen ist. Dadurch soll der Energieverbrauch verringert und damit die Akkulaufzeit verlängert werden, was aber zu unerwünschten Ergebnissen führen könnte. Benutzer können diese Funktion deaktivieren und Anacron von der Art der Stromversorgung unabhängig ausführen lassen. In der Debian-spezifischen Dokumentation in /usr/share/doc/anacron/README.Debian finden Sie detaillierte Anweisungen, wie Sie dieses Verhalten ändern können.
anacrontab(5), cron(8), tzset(3)
Die README-Datei zu Anacron.
Detaillierte Informationen zu den Debian-spezifischen Änderungen finden Sie in der Datei /usr/share/doc/anacron/README.Debian.
Anacron entfernt niemals Zeitstempeldateien. Entfernen Sie ungenutzte Dateien manuell.
Anacron verwendet bis zu zwei Dateideskriptoren für jeden aktiven Auftrag. Bei mehr als 125 aktiven Aufträgen können die Dateideskriptoren ausgeschöpft werden (bei normalen Kerneln).
Senden Sie Kommentare, Vorschläge und Fehlermeldungen (auf Englisch) an Sean »Shaleh« Perry <shaleh@(debian.org|valinux.com)>.
Anacron wurde ursprünglich von Christian Schwarz <schwarz@monet.m.isar.de> konzipiert und implementiert. Die derzeitige Implementierung wurde von Itai Tzur <itzur@actcom.co.il> vollständig neu geschrieben.
Die Code-Basis wurde von Sean »Shaleh« Perry <shaleh@(debian.org|valinux.com)> betreut. In den Jahren von 2004 bis 2006 wurde Anacron von Pascal Hakim <pasc@(debian.org|redellipse.net)> und von 2009 bis 2014 von Peter Eisentraut <petere@debian.org> betreut.
Das heutige Anacron in Debian wird von verschiedenen Entwicklern aus dem Debian-Projekt gemeinsam betreut.
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
30. November 2018 | das Debian-Projekt |