Provided by: manpages-de_2.16-1_all 

BEZEICHNUNG
systemd.timer - Zeitgeber-Unit-Konfiguration
ÜBERSICHT
Zeitgeber.timer
BESCHREIBUNG
Eine Unit-Konfigurationsdatei, deren Namen auf ».timer« endet, kodiert Informationen über einen durch
Systemd gesteuerten und überwachten Zeitgeber für die Zeitgeber-basierte Aktivierung.
Diese Handbuchseite führt die für diesen Unit-Typ spezifischen Konfigurationsoptionen auf. Siehe
systemd.unit(5) für die gemeinsamen Optionen aller Unit-Konfigurationsdateien. Die gemeinsamen
Konfigurationseinträge werden in den generischen Abschnitten »[Unit]« und »[Install]« konfiguriert. Die
Zeitgeber-spezifischen Konfigurationsoptionen werden in dem Abschnitt »[Timer]« konfiguriert.
Für jede Zeitgeberdatei muss eine passende Unit-Datei existieren, welche die zu aktivierende Unit, wenn
der Zeitgeber abläuft, beschreibt. Beispiel: Eine Zeitgeberdatei foo.timer aktiviert einen passenden
Dienst foo.service. Die zu aktivierende Unit kann mit Unit= (siehe unten) gesteuert werden.
Beachten Sie, dass die Unit, die der Zeitgeber aktivieren soll, nicht neu gestartet wird, wenn sie beim
Ablaufen des Zeitgebers bereits aktiv ist, sondern einfach weiterläuft. In diesem Fall gibt es kein
Konzept des Startens neuer Dienste-Instanzen. Daher sind Dienste mit gesetztem RemainAfterExit= (die
damit aktiv bleiben, selbst wenn sich der Hauptprozess des Dienstes beendet hat) in der Regel keine guten
Kandidaten für die Aktivierung über wiederholende Zeitgeber, da sie nur einmal aktiviert werden und dann
für immer verbleiben.
AUTOMATISCHE ABHÄNGIGKEITEN
Implizite Abhängigkeiten
Die folgenden Abhängigkeiten werden implizit hinzugefügt:
• Zeitgeber-Units erhalten automatisch eine Abhängigkeit Before= von dem Dienst, den sie aktivieren
sollen.
Standardabhängigkeiten
Die folgenden Abhängigkeiten werden hinzugefügt, es sei denn, DefaultDependencies=no ist gesetzt:
• Zeitgeber-Units werden automatisch Abhängigkeiten vom Typ Requires= und After= von sysinit.target,
eine Abhängigkeit vom Typ Before= von timers.target sowie Conflicts= und Before= von shutdown.target
haben, um sicherzustellen, dass sie vor dem Herunterfahren des Systems sauber beendet werden. Nur
Zeitgeber-Units, die in der frühen Systemstartphase oder spät beim Herunterfahren beteiligt sind,
sollten die Option DefaultDependencies= deaktivieren.
• Zeitgeber-Units mit mindestens einer Anweisung OnCalendar= werden eine zusätzliche Abhängigkeit
After= von time-sync.target haben, um zu vermeiden, dass sie gestartet werden, bevor die Systemuhr
korrekt gestellt ist.
OPTIONEN
Zeitgeberdateien müssen einen Abschnitt [Timer] enthalten, der Informationen über den durch sie
definierten Zeitgeber transportiert. Die für den Abschnitt [Timer] von Zeitgeber-Units spezifischen
Optionen sind die folgenden:
OnActiveSec=, OnBootSec=, OnStartupSec=, OnUnitActiveSec=, OnUnitInactiveSec=
Definiert monotone Zeitgeber relativ zu verschiedenen Startpunkten:
Tabelle 1. Einstellungen und ihre Startpunkte
┌────────────────────┬───────────────────────────────────────┐
│ Einstellung │ Bedeutung │
├────────────────────┼───────────────────────────────────────┤
│ OnActiveSec= │ Definiert einen Zeitgeber relativ zu │
│ │ dem Moment, zu dem die Zeitgeber-Unit │
│ │ selbst aktiviert wurde. │
├────────────────────┼───────────────────────────────────────┤
│ OnBootSec= │ Definiert einen Zeitgeber relativ zum │
│ │ Zeitpunkt des Systemstarts. Für die │
│ │ Systemverwalterinstanz wird dies in │
│ │ Containern auf OnStartupSec= │
│ │ abgebildet, wodurch beide äquivalent │
│ │ werden. │
├────────────────────┼───────────────────────────────────────┤
│ OnStartupSec= │ Definiert einen Zeitgeber relativ zum │
│ │ erstmaligen Start des │
│ │ Diensteverwalters. Für │
│ │ System-Zeitgeber-Units ist dies sehr │
│ │ ähnlich zu OnBootSec=, da der │
│ │ Systemdiensteverwalter im Allgemeinen │
│ │ sehr früh im Systemstartprozess │
│ │ gestartet wird. Es ist hauptsächlich │
│ │ nützlich, wenn dies in Units │
│ │ konfiguriert wird, die im │
│ │ benutzerbezogenen Diensteverwalter │
│ │ laufen, da der │
│ │ Benutzerdiensteverwalter im │
│ │ Allgemeinen nur beim erstmaligen │
│ │ Anmelden und nicht bereits während │
│ │ des Systemstarts gestartet wird. │
├────────────────────┼───────────────────────────────────────┤
│ OnUnitActiveSec= │ Definiert einen Zeitgeber relativ zu │
│ │ dem Zeitpunkt, zu dem die Unit, die │
│ │ der Zeitgeber aktiviert, letztmalig │
│ │ aktiviert wurde. │
├────────────────────┼───────────────────────────────────────┤
│ OnUnitInactiveSec= │ Definiert einen Zeitgeber relativ zu │
│ │ dem Zeitpunkt, zu dem die Unit, die │
│ │ der Zeitgeber aktiviert, letztmalig │
│ │ deaktiviert wurde. │
└────────────────────┴───────────────────────────────────────┘
Mehrere Anweisungen vom gleichen oder von verschiedenen Typen können kombiniert werden. In diesem
Fall werden die Zeitgeber-Units auslösen, wannimmer einer der festgelegten Zeitgeber-Ausdrücke
abläuft. Beispielsweise ist es durch Kombination von OnBootSec= und OnUnitActiveSec= möglich, einen
Zeitgeber zu definieren, der in regelmäßigen Abständen abläuft und jedes Mal einen bestimmten Dienst
aktiviert. Desweiteren können sowohl monotone Zeit- als auch kalendarische OnCalendar=-Ausdrücke in
der gleichen Zeitgeber-Unit kombiniert werden.
Die Argumente für die Anweisung sind in Sekunden konfigurierte Zeitspannen. Beispiel: »OnBootSec=50«
bedeutet 50 s nach Systemstart. Das Argument kann auch Zeiteinheiten enthalten. Beispiel:
»OnBootSec=5h 30min« bedeutet 5 Stunden und 30 Minuten nach Systemstart. Für Details über die Syntax
von Zeitspannen, siehe systemd.time(7).
Falls ein mit OnBootSec= oder OnStartupSec= konfigurierter Zeitgeber bereits in der Vergangenheit
liegt, wenn die Zeitgeber-Unit aktiviert wird, wird er sofort ablaufen und die konfigurierte Unit
wird gestartet. Dies ist bei Zeitgebern, die in anderen Anweisungen definiert sind, nicht der Fall.
Dies sind monotone Zeitgeber, unabhängig von der allgemeinen Uhrzeit und Zeitzonen. Falls der
Computer temporär suspendiert ist, pausiert auch die monotone Uhr.
Falls einer dieser Optionen die leere Zeichenkette zugewiesen wird, wird die Liste der Zeitgeber
zurückgesetzt (sowohl monotoner Zeitgeber als auch OnCalendar=-Zeitgeber, siehe unten) und alle
vorhergehenden Zuweisungen haben keine Auswirkung.
Beachten Sie, dass Zeitgeber nicht notwendigerweise zu dem exakten Zeitpunkt, der mit diesen
Einstellungen konfiguriert ist, auslaufen. Sie unterliegen der Einstellung AccuracySec= (siehe weiter
unten).
OnCalendar=
Definiert Echtzeit- (d.h. Wanduhr-)Zeitgeber mit Kalenderereignisausdrücken. Siehe systemd.time(7)
für weitere Informationen über die Syntax von Kalenderereignisausdrücken. Abgesehen davon ist die
Semantik ähnlich zu der von OnActiveSec= und verwandten Einstellungen.
Beachten Sie, dass Zeitgeber nicht notwendigerweise zu dem exakten Zeitpunkt, der mit dieser
Einstellung konfiguriert ist, auslaufen. Sie unterliegen der Einstellung AccuracySec= (siehe weiter
unten).
Kann mehr als einmal angegeben werden, wodurch die Zeitgeber-Unit ausgelöst wird, wannimmer einer der
festgelegten Ausdrücke abläuft. Desweiteren können Kalender-Zeitgeber und monotone Zeitgeber (siehe
oben) in der gleichen Zeitgeber-Unit kombiniert werden.
Falls einer dieser Optionen die leere Zeichenkette zugewiesen wird, wird die Liste der Zeitgeber
zurückgesetzt (sowohl OnCalendar=-Zeitgeber als auch monotone Zeitgeber, siehe oben) und alle
vorhergehenden Zuweisungen haben keine Auswirkung.
AccuracySec=
Legt die Genauigkeit fest, mit der der Zeitgeber ablaufen soll. Standardmäßig 1min. Der Zeitgeber
wird so eingeplant, dass er innerhalb eines Zeitfensters abläuft, das mit der in OnCalendar=,
OnActiveSec=, OnBootSec=, OnStartupSec=, OnUnitActiveSec= oder OnUnitInactiveSec= festgelegten Zeit
beginnt und zu der mit AccuracySec= konfigurierten Zeit später endet. Innerhalb dieses Zeitfensters
wird die Ablaufzeit auf eine Rechner-spezifische, zufällige aber stabile Position gelegt, die unter
allen lokalen Zeitgeber-Units synchronisiert ist. Dies erfolgt, um den Stromverbrauch zu optimieren,
um unnötiges Aufwachen der CPU zu vermeiden. Um die größte Genauigkeit zu erhalten, setzen Sie diese
Option auf 1us. Beachten Sie, dass der Zeitgeber weiterhin dem mit der Einstellung TimerSlackNSec=
von systemd-system.conf(5) konfigurierten Zeitgeberspielraum unterliegt. Siehe prctl(2) für Details.
Um den Stromverbrauch zu optimieren, wählen Sie diesen Wert so hoch wie möglich und so niedrig wie
notwendig.
RandomizedDelaySec=
Verzögert den Zeitgeber um eine zufällig gewählte, gleichmäßig verteilte Zeitspannen zwischen 0 und
dem festgelegten Zeitwert. Standardmäßig 0, wodurch angezeigt wird, dass keine zufällige Verzögerung
angewandt werden soll. Jede Zeitgeber-Unit wird diese Verzögerung zufällig vor jeder Iteration
bestimmen und die Verzögerung wird einfach auf die nächste ablaufende Zeit addiert. Dies ist
nützlich, um die Abfertigung von ähnlich konfigurierten Zeitgeberereignissen über eine bestimmte
Zeitspanne auszudehnen, damit sie nicht alle gleichzeitig feuern und möglicherweise Ressourcen
überlasten. Beachten Sie die Beziehung zu AccuracySec= (weiter oben): Letzteres erlaubt dem
Diensteverwalter, Zeitgeberereignisse innerhalb einer bestimmten Zeitspanne zusammenzuführen, um das
Aufwachen zu minimieren während erstere das Gegenteil macht: sie verteilt Zeitgeberereignisse über
eine Zeitspanne, damit gleichzeitiges Feuern unwahrscheinlich wird. Falls RandomizedDelaySec= und
AccuracySec= zusammen verwandt werden, wird zuerst die zufällige Verzögerung addiert und dann wird
das Ergebnis möglicherweise weiter verschoben, um es mit anderen, auf dem System stattfindenden
Zeitgeberereignissen zusammenzuführen. Wie oben erwähnt, ist die Vorgabe für AccuracySec= 1min und
für RandomizedDelaySec= 0, wodurch das Zusammenführen von Zeitgeberereignissen ermutigt wird. Um
Zeitgeberereignisse optimal über eine bestimmte Zeitspanne zu verteilen, setzen Sie
RandomizedDelaySec= auf einen höheren Wert und AccuracySec=1us.
OnClockChange=, OnTimezoneChange=
Diese Optionen akzeptieren logische Argumente. Falls wahr, wird die Dienste-Unit ausgelöst, wenn die
Systemuhr (CLOCK_REALTIME) relativ zu der monotonen Uhr (CLOCK_MONOTONIC) springt oder wenn die
lokale Systemzeitzone verändert wird. Diese Optionen können alleine oder in Kombination mit anderen
Zeitgeber-Ausdrücken (siehe oben) innerhalb der gleichen Zeitgeber-Unit verwandt werden. Diese
Optionen sind standardmäßig falsch.
Unit=
Die Unit, die beim Ablaufen des Zeitgebers aktiviert werden soll. Das Argument ist ein Unit-Name,
dessen Endung nicht ».timer« ist. Falls dieser Wert nicht festgelegt ist, ist die Vorgabe ein Dienst,
der den gleichen Namen (bis auf die Endung) wie die Zeitgeber-Unit hat. (Siehe oben.) Es wird
empfohlen, dass der Unit-Name, der aktiviert wird, und der Unit-Name der Zeitgeber-Unit bis auf die
Endung identisch sind.
Persistent=
Akzeptiert ein logisches Argument. Falls wahr, wird der Zeitpunkt, zu dem die Dienste-Unit das letzte
Mal ausgelöst wurde, auf Platte gespeichert. Wenn der Zeitgeber aktiviert wird, wird die Dienste-Unit
sofort ausgelöst, falls sie mindestens einmal in der Zeit, zu der der Zeitgeber inaktiv war,
ausgelöst worden wäre. Dies ist nützlich, um verpasste Läufe, als die Maschine ausgeschaltet gewesen
ist, nachzuholen. Beachten Sie, dass diese Einstellung nur für mit OnCalendar= konfigurierte
Zeitgeber Wirkung entfaltet. Standardmäßig false.
Verwenden Sie systemctl clean --what=state … auf der Zeitgeber-Unit, um den durch diese Option
verwalteten Zeitstempel auf der Platte zu entfernen. Verwenden Sie diesen Befehl insbesondere bevor
Sie eine Zeitgeber-Unit deinstallieren. Siehe systemctl(1) für Details.
WakeSystem=
Akzeptiert ein logisches Argument. Falls wahr, wird ein ablaufender Zeitgeber dazu führen, dass das
System aus dem Suspend aufwacht, falls das System suspendiert war und das System dieses unterstützt.
Beachten Sie, dass dies nur sicherstellt, dass das System zu einer geeigneten Zeit aufwacht. Die
Option wird nicht dafür sorgen, dass das System nach Abschluss der zu erledigenden Arbeiten wieder
suspendiert wird. Standardmäßig false.
Beachten Sie, dass diese Funktionalität Privilegien benötigt und daher im Allgemeinen nur im
Systemdiensteverwalter verfügbar ist.
RemainAfterElapse=
Akzeptiert ein logisches Argument. Falls wahr, wird ein abgelaufener Zeitgeber geladen bleiben und
sein Zustand kann weiter abgefragt werden. Falls falsch, wird ein abgelaufener Zeitgeber, der nicht
mehr ablaufen kann, entladen. Insbesondere für flüchtige Zeitgeber-Units, die nach ihrem ersten
Ablaufen verschwinden sollen, ist es besonders nützlich, dies abzuschalten. Beachten Sie, dass diese
Einstellung Auswirkungen auf wiederholtes Starten einer Zeitgeber-Unit, die nur einmal abläuft, hat:
Falls RemainAfterElapse= eingeschaltet ist, wird sie nicht wieder gestartet und es wird zugesichert,
dass sie nur einmal abläuft. Falls allerdings RemainAfterElapse= augeschaltet ist, könnte sie wieder
gestartet werden, falls sie bereits abgelaufen ist, und daher mehrfach ausgelöst werden.
Standardmäßig yes.
SIEHE AUCH
systemd(1), systemctl(1), systemd.unit(5), systemd.service(5), systemd.time(7), systemd.directives(7),
systemd-system.conf(5), prctl(2)
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> 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
<debian-l10n-german@lists.debian.org>.
systemd 243 SYSTEMD.TIMER(5)