it-swarm.com.de

So richten Sie einen systemd-Dienst so ein, dass er 5 Mal in einem Zyklus von 30 Sekunden erneut versucht

Ich möchte, dass systemd ein Skript startet und es im Abstand von 30s maximal fünfmal wiederholt. Das Lesen des Handbuchs systemd.service und das Durchsuchen des Internets ergaben keine offensichtlichen Antworten.

18
jross

Nach langem Ausprobieren habe ich mein Problem gelöst und dachte es lohnt sich hier zu posten ...

Um maximal 5 Wiederholungsversuche zuzulassen, die durch 30 Sekunden voneinander getrennt sind, verwenden Sie die folgenden Optionen in der entsprechenden systemd-Servicedatei.

[Unit]
StartLimitInterval=200
StartLimitBurst=5
[Service]
Restart=always
RestartSec=30

Dies funktionierte für mich für einen Dienst, der ein Skript mit 'Type = idle' ausführt. Beachten Sie, dass 'StartLimitInterval' größer als 'RestartSec * StartLimitBurst' sein muss, da der Dienst sonst auf unbestimmte Zeit neu gestartet wird.

33
jross