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 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.

Wird die Timer-Unit veräbdert genügt der

systemctl reenable --now foo.timer 

Befehl, damit die Änderung 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