Anacron: Unterschied zwischen den Versionen
| (11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
== Beschreibung == | == Beschreibung == | ||
cron-like program that doesn't go by time | |||
Anacron (wie "anac(h)ronistisch") ist ein periodischer Befehlsplaner | |||
; Anacron (wie "anac(h)ronistisch") ist ein periodischer Befehlsplaner | |||
* Er führt Befehle in Intervallen aus, die in Tagen angegeben werden | * Er führt Befehle in Intervallen aus, die in Tagen angegeben werden | ||
* Im Gegensatz zu cron geht er nicht davon aus, dass das System kontinuierlich läuft | * Im Gegensatz zu cron geht er nicht davon aus, dass das System kontinuierlich läuft | ||
| Zeile 9: | Zeile 10: | ||
* Bei korrekter Installation und Konfiguration stellt Anacron sicher, dass die Befehle in den angegebenen Intervallen ausgeführt werden, so nah wie es die Betriebszeit der Maschine zulässt | * Bei korrekter Installation und Konfiguration stellt Anacron sicher, dass die Befehle in den angegebenen Intervallen ausgeführt werden, so nah wie es die Betriebszeit der Maschine zulässt | ||
Dieses Paket ist vorkonfiguriert | ; Dieses Paket ist vorkonfiguriert | ||
* tägliche Aufgaben des Debian-Systems ausführen | |||
* Sie sollten dieses Programm installieren, wenn Ihr System nicht 24 Stunden am Tag eingeschaltet ist, um sicherzustellen, dass die Wartungsaufgaben anderer Debian-Pakete täglich ausgeführt werden | * Sie sollten dieses Programm installieren, wenn Ihr System nicht 24 Stunden am Tag eingeschaltet ist, um sicherzustellen, dass die Wartungsaufgaben anderer Debian-Pakete täglich ausgeführt werden | ||
; 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 | |||
; Konfigurationsdatei | |||
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 | |||
; Ausführung | |||
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 | |||
; Anacrontab | |||
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 Datei /etc/anacrontab die Umgebungsvariable MAILTO gesetzt ist, werden die Ausgaben stattdessen an die dort angegebene Adresse gesendet | |||
; Logging | |||
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 | |||
; Konkurrrierende Aufträge | |||
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, sodass weitere Instanzen von Anacron diese nicht zur gleichen Zeit ausführen können | |||
== Installation == | == Installation == | ||
| Zeile 91: | Zeile 132: | ||
| -h || zeigt kurze Informationen zur Verwendung an und beendet das Programm. | | -h || zeigt kurze Informationen zur Verwendung an und beendet das Programm. | ||
|} | |} | ||
=== Signale === | |||
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 | |||
=== Parameter === | === Parameter === | ||
| Zeile 109: | Zeile 154: | ||
=== Problembehebung === | === Problembehebung === | ||
; Anmerkung | |||
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 | |||
; 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) | |||
== Konfiguration == | == Konfiguration == | ||
; Debian-Spezifische Konfiguration | |||
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 | |||
=== Dateien === | === Dateien === | ||
{| class="wikitable options big" | {| class="wikitable options big" | ||
| Zeile 129: | Zeile 199: | ||
== Anhang == | == Anhang == | ||
=== Siehe auch === | === Siehe auch === | ||
* 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 | |||
---- | |||
<div style="column-count:2"> | <div style="column-count:2"> | ||
<categorytree hideroot=on mode="pages"> | <categorytree hideroot=on mode="pages">Cron</categorytree> | ||
</div> | </div> | ||
---- | ---- | ||
| Zeile 143: | Zeile 220: | ||
--> | --> | ||
=== Projekt === | |||
=== Weblinks === | |||
{{DEFAULTSORT:anacron}} | {{DEFAULTSORT:anacron}} | ||
Aktuelle Version vom 26. Oktober 2025, 08:48 Uhr
anacron - anacron - Befehle periodisch ausführen
Beschreibung
cron-like program that doesn't go by time
- Anacron (wie "anac(h)ronistisch") ist ein periodischer Befehlsplaner
- Er führt Befehle in Intervallen aus, die in Tagen angegeben werden
- Im Gegensatz zu cron geht er nicht davon aus, dass das System kontinuierlich läuft
- Er kann daher zur Steuerung der Ausführung von täglichen, wöchentlichen, monatlichen und jährlichen Aufgaben (oder allem, was einen Zeitraum von n Tagen hat) auf Systemen verwendet werden, die nicht 24 Stunden am Tag laufen
- Bei korrekter Installation und Konfiguration stellt Anacron sicher, dass die Befehle in den angegebenen Intervallen ausgeführt werden, so nah wie es die Betriebszeit der Maschine zulässt
- Dieses Paket ist vorkonfiguriert
- tägliche Aufgaben des Debian-Systems ausführen
- Sie sollten dieses Programm installieren, wenn Ihr System nicht 24 Stunden am Tag eingeschaltet ist, um sicherzustellen, dass die Wartungsaufgaben anderer Debian-Pakete täglich ausgeführt werden
- 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
- Konfigurationsdatei
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
- Ausführung
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
- Anacrontab
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 Datei /etc/anacrontab die Umgebungsvariable MAILTO gesetzt ist, werden die Ausgaben stattdessen an die dort angegebene Adresse gesendet
- Logging
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
- Konkurrrierende Aufträge
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, sodass weitere Instanzen von Anacron diese nicht zur gleichen Zeit ausführen können
Installation
sudo apt install anacron
Dateien
/etc/anacrontab /etc/cron.d /etc/cron.d/anacron /etc/cron.daily /etc/cron.daily/0anacron /etc/cron.monthly /etc/cron.monthly/0anacron /etc/cron.weekly /etc/cron.weekly/0anacron /etc/cron.yearly /etc/cron.yearly/0anacron /etc/default /etc/default/anacron /etc/init.d /etc/init.d/anacron
/usr/lib/systemd/system/anacron.service /usr/lib/systemd/system/anacron.timer
/usr/sbin/anacron
/usr/share/doc /usr/share/doc/anacron /usr/share/doc/anacron/NEWS.Debian.gz /usr/share/doc/anacron/README.Debian /usr/share/doc/anacron/README.gz /usr/share/doc/anacron/TODO /usr/share/doc/anacron/changelog.Debian.gz /usr/share/doc/anacron/changelog.gz /usr/share/doc/anacron/copyright /usr/share/man /usr/share/man/man5 /usr/share/man/man5/anacrontab.5.gz /usr/share/man/man8 /usr/share/man/man8/anacron.8.gz
/var/spool/anacron
Aufruf
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]
Optionen
| Unix | Beschreibung |
|---|---|
| -f | erzwingt die Ausführung der Aufträge, wobei die Zeitstempel ignoriert werden. |
| -u | aktualisiert nur die Zeitstempel aller Aufträge auf das aktuelle Datum, aber führt keine Aufträge aus. |
| -s | serialisiert die Ausführung von Aufträgen. Anacron startet keinen neuen Auftrag, bevor der vorherige Auftrag nicht beendet ist. |
| -n | führt Aufträge sofort aus, wobei die in der Datei /etc/anacrontab angegebene Verzögerung ignoriert wird. Diese Option impliziert -s. |
| -d | verschiebt Anacron nicht per Fork in den Hintergrund. In diesem Modus schreibt Anacron informative Meldungen in die Standardfehlerausgabe und in das Systemprotokoll. Die Ausgabe jedes Auftrags wird durch Anacron wie gewöhnlich per E-Mail versendet. |
| -q | unterdrückt alle Meldungen, die in die Standardausgabe geschrieben werden würden. Diese Option ist nur zusammen mit -d anwendbar. |
| -t Anacrontab | verwendet die angegebene Anacrontab anstelle der standardmäßigen Datei. |
| -T | dient zum Prüfen der Anacron-Konfigurationsdatei auf Gültigkeit. Falls die Datei einen Fehler enthält, wird eine Fehlermeldung angezeigt und Anacron gibt den Wert 1 zurück. Gültige Anacrontabs geben den Wert 0 zurück. |
| -S Spool-Verzeichnis | verwendet das angegebene Spool-Verzeichnis zum Speichern von Zeitstempeln. Diese Option ist für Benutzer erforderlich, die Anacron selbst ausführen wollen. |
| -V | gibt Versionsinformationen aus und beendet das Programm. |
| -h | zeigt kurze Informationen zur Verwendung an und beendet das Programm. |
Signale
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
Parameter
Umgebungsvariablen
Exit-Status
| Wert | Beschreibung |
|---|---|
| 0 | Erfolg |
| >0 | Fehler |
Anwendung
Problembehebung
- Anmerkung
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
- 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)
Konfiguration
- Debian-Spezifische Konfiguration
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
Dateien
| Datei | Beschreibung |
|---|---|
| /etc/anacrontab | Enthält die Auftragsspezifikationen. In anacrontab(5) finden Sie eine vollständige Beschreibung. |
| /var/spool/anacron | Dieses Verzeichnis wird von Anacron zum Speichern von Zeitstempeldateien verwendet. |
| /lib/systemd/system/anacron.service | Diese Datei stellt den Systemd-Dienst für Anacron bereit. |
| /lib/systemd/system/anacron.timer | Diese Datei stellt Systemd-Timer für Anacron bereit. Gegenwärtig wird der Dienst stündlich durch einen Systemd-Timer ausgelöst. |
Anhang
Siehe auch
- 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
Dokumentation
- Man-Page
Projekt
Weblinks