Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:systemd_timer

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:systemd_timer [2018/08/24 13:09] – stefan_miethkeadmin_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 11 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,10:0/2'+  systemd-analyze calendar 'FRI *-1,5,11-* 9..12:0/2'
  
 Timer Unit anlegen: Timer Unit anlegen:
Zeile 12: Zeile 12:
      
 [Timer] [Timer]
-OnCalendar=FRI *-1,5,11-* 9,10: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 22: Zeile 28:
  
 <file txt /etc/systemd/system/dateprint.service> <file txt /etc/systemd/system/dateprint.service>
-  [Unit] +[Unit] 
-  Description=Prints date into /tmp/timer file+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=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.1535116163.txt.gz · Zuletzt geändert: 2018/08/24 13:09 von stefan_miethke