Je veux exécuter un script lorsqu'un service échoue. La chose la plus proche que je vois est l' FailureAction=
option (sous la [Service]
section), mais elle ne propose que des commandes de redémarrage.
11
Il y a une OnFailure=
directive dans la section [Unit]
, documentée dans systemd.unit (5) . Il est défini comme suit:
Une liste séparée par des espaces d'une ou plusieurs unités qui sont activées lorsque cette unité entre dans l'état "échoué".
(Il y a également une OnFailureJobMode=
directive dans la même section qui permet de définir le mode de travail pour activer OnFailure = unités.)
/etc/systemd/system
et placez son nom dans laOnFailure=
directive.Vous pouvez également utiliser
ExecStopPost
pour exécuter une commande directement au lieu de démarrer une unité.Je n'étais pas satisfait du
OnFailure
cadre alors j'ai continué à chercher et à trouverExecStopPost
.L'exemple réel suivant, si la tâche principale échoue, alors systemd exécutera une
git
commande.https://www.freedesktop.org/software/systemd/man/systemd.service.html
la source