Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:systemd_timer

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:systemd_timer [2019/06/19 12:17]
ingo_wichmann
admin_grundlagen:systemd_timer [2025/04/04 09:44] (aktuell)
valentin_bachem
Zeile 1: Zeile 1:
-Statt mit cron können auch mit dem Systemd-Timer zeitgesteuert Programme gestartet werden. Dazu werden zwei Dateien, *.timer und *.service unter ''/​etc/​systemd/​system''​ angelegt. Beispielsweise ''​date.timer''​ und ''​date.service''​ um alle 2 Minuten Freitags zwischen 9 und 12 Uhr in den Monaten Januar, Mai und November den aktuellen Zeitstempel in eine Datei ''/​tmp/​timer''​ zu schreiben.+Statt mit cron können auch mit dem Systemd-Timer zeitgesteuert Programme gestartet werden. Dazu werden zwei Dateien, *.timer und *.service unter ''/​etc/​systemd/​system''​ angelegt. Beispielsweise ''​dateprint.timer''​ und ''​dateprint.service''​ um alle 2 Minuten Freitags zwischen 9 und 12 Uhr in den Monaten Januar, Mai und November den aktuellen Zeitstempel in eine Datei ''/​tmp/​timer''​ zu schreiben.
  
-Zeitangabe testen: ​(Ubuntu 18.04, <​del>​openSuSE</​del>​ (bis 15 noch nicht enthalten))+Zeitangabe testen:
   systemd-analyze calendar 'FRI *-1,5,11-* 9..12:​0/​2'​   systemd-analyze calendar 'FRI *-1,5,11-* 9..12:​0/​2'​
  
Zeile 13: Zeile 13:
 [Timer] [Timer]
 OnCalendar=FRI *-1,5,11-* 9..12:0/2 OnCalendar=FRI *-1,5,11-* 9..12:0/2
 +
 +[Install]
 +WantedBy=timers.target
 </​file>​ </​file>​
  
 Syntax Unit File prüfen: Syntax Unit File prüfen:
   systemd-analyze verify dateprint.timer   systemd-analyze verify dateprint.timer
 +((
 +Fehlermeldung "​Attempted to remove disk file system, and we can't allow that." in systemd Versionen vor v239 kann ignoriert werden: https://​github.com/​systemd/​systemd/​issues/​8592
 +))
  
 Service Unit anlegen: Service Unit anlegen:
Zeile 27: Zeile 33:
 [Service] [Service]
 Type=oneshot Type=oneshot
-ExecStart=/usr/bin/sh -c '/usr/bin/date >> /​tmp/​timer'​+ExecStart=/​bin/​sh -c 'date >> /​tmp/​timer'​
 User=nutzer19 User=nutzer19
-Group=nutzer19+Group=users
 </​file>​ </​file>​
  
 Syntax Unit File prüfen: Syntax Unit File prüfen:
   systemd-analyze verify dateprint.service   systemd-analyze verify dateprint.service
 +((
 +Fehlermeldung "​Attempted to remove disk file system, and we can't allow that." in systemd Versionen vor v239 kann ignoriert werden: https://​github.com/​systemd/​systemd/​issues/​8592
 +))
 +
 +Service einmalig testen:
 +  systemctl start dateprint.service
  
 Der so erstellte Timer wird dann mit  Der so erstellte Timer wird dann mit 
Zeile 39: Zeile 51:
 aktiviert. aktiviert.
  
 +Wann läuft der Timer das nächste Mal?
 +  systemctl status dateprint.timer
 +
 +Welche Timer gibt es im System?
 +   ​systemctl list-timers
admin_grundlagen/systemd_timer.1560946630.txt.gz · Zuletzt geändert: 2019/06/19 12:17 von ingo_wichmann