Systemd/Timers

Aus wiki.archlinux.de

„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 werden in /usr/lib/systemd/system/ abgelegt und müssen vor dem . (Punkt) den gleichen Namen tragen.

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ägliche Veränderung der 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