Zum Inhalt springen

Anacron: Unterschied zwischen den Versionen

Aus Foxwiki
 
(18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''anacron''' - cron-like program that doesn't go by time
'''anacron''' - anacron - Befehle periodisch ausführen


== Beschreibung ==
== Beschreibung ==
Anacron (wie "anac(h)ronistisch") ist ein periodischer Befehlsplaner
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
* 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 8: 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, um die täglichen Aufgaben des Debian-Systems auszuführen
; 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 56: Zeile 98:


== Aufruf ==
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1-4" line>
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]
</syntaxhighlight>
</syntaxhighlight>
 
=== Optionen ===
=== Optionen ===
{| class="wikitable sortable options gnu big"
{| class="wikitable sortable options big"
|-
! 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.
|-
|-
! Unix !! GNU !! Parameter !! Beschreibung
| -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 ===
=== Parameter ===
Zeile 85: 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 92: Zeile 186:
! Datei !! Beschreibung
! 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.
|}
|}


Zeile 101: 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">{{BASEPAGENAME}}</categorytree>
<categorytree hideroot=on mode="pages">Cron</categorytree>
</div>
</div>
----
----
Zeile 115: Zeile 220:
-->
-->


=== Links ===
=== Projekt ===
==== Projekt ====
=== Weblinks ===
==== 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
  1. anacron(8)


Projekt

Weblinks