Login
Newsletter
Werbung

Thema: Systemd Timer Units für zeitgesteuerte Aufgaben verwenden

4 Kommentar(e) || Alle anzeigen ||  RSS || Kommentieren
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
1
Von Tamaskan am Do, 27. Februar 2020 um 16:08 #

Dafür könntest du den Befehl systemd-run mit der Option --on-calendar= verwenden, um eine sogenannte "transient unit" zu erzeugen, die nach erfolgter Ausführung wieder verschwindet.

  • 1
    Von Potz Blitz am Fr, 28. Februar 2020 um 15:57 #

    Die transienten Timer-Units gefallen mir sehr gut, da sie offenbar automatisch entsorgt werden, sobald der Job ausgeführt wurde. Leider habe ich festgestellt, dass die mit system-run erstellten Units einen Reboot des Rechners nicht überstehen.

    Das allerdings wäre in meinem Fall wünschenswert. Trotzdem danke für die Anregung.

    • 0
      Von schmidicom am Fr, 28. Februar 2020 um 16:23 #

      Du könntest natürlich auch ein Timer-Unit als Datei erstellen (wie im Artikel beschrieben) und dann mit der OnCalendar-Option ein festes Datum spezifizieren. Diese Option kann auch mehrmals untereinander angegeben werden, wie eine Liste.

      Zum Beispiel so:
      OnCalendar=2020-03-05 05:40
      OnCalendar=2020-03-13 07:43
      OnCalendar=2020-03-20 10:20

      So wird das Timer-Unit nur zu diesen drei Zeitpunkten ausgeführt und dann nie wieder.

      Doku dazu unter: https://www.freedesktop.org/software/systemd/man/systemd.timer.html#OnCalendar=

      Dieser Beitrag wurde 1 mal editiert. Zuletzt am 28. Feb 2020 um 16:27.
      • 1
        Von Potz Blitz am Fr, 28. Februar 2020 um 18:10 #

        Den OnCalendar Parameter mehrfach zu verwenden, ist auch eine interessante Option. Ich habe für meinen Fall der mittels systemd-run angelegten Units festgestellt, dass diese als run-###.timer, run-###.service Dateipaar im Verzeichnis "/run/systemd/transient/" angelegt werden. (Weil das /run/-Verzeichnis ist als tmpfs gemountet ist, übersteht die Unit wahrscheinlich den Reboot nicht.)

        Ich habe ferner herausgefunden, dass nach dem OnCalendar Parameter die Option RemainAfterElapse=no verwendet wird. Vermutlich ist das die Option, die Systemd dazu veranlasst, die Unit nach der einmaligen Ausführung "abzuräumen". Das habe ich allerdings noch nicht ausprobiert.

Pro-Linux
Pro-Linux @Twitter
Neue Nachrichten
Werbung