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
Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
admin_grundlagen:systemd_timer [2017/11/17 10:27]
pasqual
admin_grundlagen:systemd_timer [2019/06/19 12:26]
ingo_wichmann
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 ​für ein Program, das alle 2 Minuten Freitags in den Monaten Januar, Mai und November den aktuellen Zeitstempel in eine Datei /​tmp/​timer ​schreibt.+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.
  
-Die date.timer-Datei hat folgenden Aufbau:+Zeitangabe testen: (Ubuntu 18.04, <​del>​openSuSE</​del>​ (bis 15 noch nicht enthalten)) 
 +  systemd-analyze calendar 'FRI *-1,5,11-* 9..12:0/2'
  
-  ​[Unit] +Timer Unit anlegen: 
-  Description=Run ​date.service every 2 minutes on Fridays in Jan, May and Nov+  systemctl edit --full --force dateprint.timer 
 + 
 +<file txt /​etc/​systemd/​system/​dateprint.timer>​ 
 +[Unit] 
 +Description=Run ​dateprint.service every 2 minutes on Fridays in Jan, May and Nov between 0900 and 1058 hrs
   ​   ​
-  ​[Timer] +[Timer] 
-  OnCalendar=FRI *-1,​5,​11-* ​*:0/2+OnCalendar=FRI *-1,​5,​11-* ​9..12:0/2 
 +</​file>​ 
 + 
 +Syntax Unit File prüfen: 
 +  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 
 +))
  
-und die date.service ​sieht so aus:+Service Unit anlegen: 
 +  systemctl edit --force --full dateprint.service
  
-  ​[Unit] +<file txt /​etc/​systemd/​system/​dateprint.service>​ 
-  Description=Prints date into /tmp/timer file+[Unit] 
 +Description=Prints date into /tmp/timer file
   ​   ​
-  ​[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=nutzer19 
 +</​file>​
  
-Der so erstellte Timer wird dann mit systemctl enable date.timer ​--now aktiviert.+Syntax Unit File prüfen: 
 +  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 
 +))
  
 +Der so erstellte Timer wird dann mit 
 +  systemctl enable dateprint.timer --now
 +aktiviert.
  
admin_grundlagen/systemd_timer.txt · Zuletzt geändert: 2020/03/11 16:40 von ingo_wichmann