Systemd/Timers: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 
{{inuse|[[Benutzer:Tuxnix|Tuxnix]] ([[Benutzer Diskussion:Tuxnix|Diskussion]])}}
 
{{inuse|[[Benutzer:Tuxnix|Tuxnix]] ([[Benutzer Diskussion:Tuxnix|Diskussion]])}}
[[Category:Daemons and system services]]
+
[[Kategorie:Systemverwaltung]]
[[Category:Boot process]]
+
[[Kategorie:Services]]
[[de:Systemd/Timers]]
+
[[Kategorie:systemd]]
 
[[en:Systemd/Timers]]
 
[[en:Systemd/Timers]]
 
[[fr:Systemd/cron]]
 
[[fr:Systemd/cron]]
Zeile 9: Zeile 9:
 
{{righttoc}}
 
{{righttoc}}
 
Timer bieten die Möglichkeit Aufgaben zeitlich zu steuern. Sie bestehen aus einer {{ic|.timer}} und einer {{ic|.service}} Datei.
 
Timer bieten die Möglichkeit Aufgaben zeitlich zu steuern. Sie bestehen aus einer {{ic|.timer}} und einer {{ic|.service}} Datei.
Der Timer Dienst wird von [[systemd]] gesteuert und muss mit dem systemctl Befehl aktiviert werden. Eine Alternative hierzu ist [[cron]].
+
Der Timer Dienst untersteht [[systemd]] und muss mit dem systemctl Befehl aktiviert werden. Eine Alternative bietet hierzu [[cron]].
  
 
== Beispiel ==
 
== Beispiel ==
Zeile 16: Zeile 16:
 
  # Datei /usr/lib/systemd/system/foo.timer
 
  # Datei /usr/lib/systemd/system/foo.timer
 
  [Unit]
 
  [Unit]
  Description=foo timer
+
  Description=foo
 
  [Timer]
 
  [Timer]
 
  OnBootSec=1h
 
  OnBootSec=1h
Zeile 28: Zeile 28:
 
  Description=foo
 
  Description=foo
 
  [Service]
 
  [Service]
Type=oneshot
 
Nice=19
 
IOSchedulingClass=2
 
IOSchedulingPriority=7
 
Environment="ABRT_IGNORE_PYTHON=1"
 
 
  ExecStart=/usr/bin/foo
 
  ExecStart=/usr/bin/foo
=== Aktivierung ===
+
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
 
  systemctl enable --now foo.timer
 +
''enable --now'' startet den Timer unverzüglich und permanent, sodass er auch nach einem Neustart aktiv ist.
 +
''--now'' wird nur mit ''enable, disable'' oder ''reenable'' eingesetzt.
 +
''start und stop'' haben hingegen nur Auswirkungen auf die laufende Sitzung.
  
 
== Management ==
 
== Management ==
 
  systemctl list-timers --all
 
  systemctl list-timers --all
Listet alle Timer auf.
+
Listet alle Timer auf. Sollen nur die aktiven Timer angezeigt werden genügt ein ''systemctl list-timers''
  
 
== Weblinks ==
 
== Weblinks ==
 
 
* [https://kofler.info/systemd-timer-als-cron-alternative/ Michael Kofler Blog] Anleitung
 
* [https://kofler.info/systemd-timer-als-cron-alternative/ Michael Kofler Blog] Anleitung
 
* [https://fedoraproject.org/wiki/Features/SystemdCalendarTimers Fedora Project wiki page] on ''systemd'' calendar timers
 
* [https://fedoraproject.org/wiki/Features/SystemdCalendarTimers Fedora Project wiki page] on ''systemd'' calendar timers
 
* [https://wiki.gentoo.org/wiki/Systemd#Timer_services Gentoo wiki section] on ''systemd'' timer services
 
* [https://wiki.gentoo.org/wiki/Systemd#Timer_services Gentoo wiki section] on ''systemd'' timer services
 
* [https://www.freedesktop.org/software/systemd/man/systemd.timer.html freedesktop.org]Man page timer
 
* [https://www.freedesktop.org/software/systemd/man/systemd.timer.html freedesktop.org]Man page timer

Version vom 17. März 2017, 04:48 Uhr

Construction.png „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

enable --now startet den Timer unverzüglich und permanent, sodass er auch nach einem Neustart aktiv ist. --now wird nur mit enable, disable oder reenable eingesetzt. start und stop haben hingegen nur Auswirkungen auf die laufende Sitzung.

Management

systemctl list-timers --all

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

Weblinks