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 [2017/11/17 10:27]
pasqual
admin_grundlagen:systemd_timer [2020/03/11 16:40] (aktuell)
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 
 + 
 +[Install] 
 +WantedBy=timers.target 
 +</​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.1510914438.txt.gz · Zuletzt geändert: 2017/11/17 10:27 von pasqual