Systemd/Timers

Aus wiki.archlinux.de
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.

„Systemd/Timers“ wurde von Tuxnix (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Tuxnix (Diskussion) bitte, bevor du den Artikel bearbeitest.


Timer bieten die Möglichkeit Aufgaben zeitlich zu steuern. Sie bestehen aus einer .timer und einer .service Datei. Der Timer Dienst untersteht systemd und muss mit dem systemctl Befehl aktiviert werden. Eine Alternative bietet hierzu cron.

Beispiel

Die .timer Datei

# Datei /usr/lib/systemd/system/foo.timer
[Unit]
Description=foo
[Timer]
OnBootSec=1h
OnUnitInactiveSec=1d
[Install]
WantedBy=basic.target

Die .service Datei

# Datei /usr/lib/systemd/system/foo.service
[Unit]
Description=foo
[Service]
ExecStart=/usr/bin/foo

Als [Service] kann ein Befehl oder ein ausführbares Script genutzt werden. Service- und Timerdatei müssen vor dem . (Punkt) den gleichen Namen haben.

De-/Aktivierung

systemctl enable --now foo.timer

Mit enable --now startet der Timer unverzüglich und permanent, sodass er auch nach einem Neustart aktiv ist. Ohne --now werden enable, disable oder reenable erst nach einem reboot wirksam. start und stop hingegen, haben lediglich Auswirkungen auf die laufende Sitzung.

systemctl reenable --now foo.timer 

Genügt damit eine nachträglich veränderte Timer-Unit wirksam wird.

Management

systemctl list-timers --all

Listet alle Timer auf. Sollen nur die aktiven Timer angezeigt werden genügt ein systemctl list-timers

Weblinks