Ich möchte ein Skript ausführen, wenn ein Dienst ausfällt. Das nächste, was ich sehe, ist die FailureAction=
Option (unter [Service]
Abschnitt), aber sie bietet nur Neustartbefehle.
11
Es gibt eine OnFailure=
Anweisung im Abschnitt [Unit]
, die in systemd.unit (5) dokumentiert ist . Es ist wie folgt definiert:
Eine durch Leerzeichen getrennte Liste einer oder mehrerer Einheiten, die aktiviert werden, wenn diese Einheit in den Status "Fehlgeschlagen" wechselt.
(Außerdem gibt es OnFailureJobMode=
im selben Abschnitt eine Anweisung, mit der der Jobmodus zum Aktivieren von OnFailure = Einheiten festgelegt werden kann.)
/etc/systemd/system
und setzen Sie ihren Namen in dieOnFailure=
Direktive.Sie können auch
ExecStopPost
einen Befehl direkt ausführen, anstatt eine Einheit zu starten.Ich war mit der
OnFailure
Umgebung nicht zufrieden , also suchte und fand ich weiterExecStopPost
.Im folgenden Beispiel führt systemd einen
git
Befehl aus , wenn die Hauptaufgabe fehlschlägt .https://www.freedesktop.org/software/systemd/man/systemd.service.html
quelle