Voici mon fichier d'unité d'un service systemd:
[Unit]
Description=Tunnel For %i
After=network.target
[Service]
User=autossh
ExecStart=/usr/bin/autossh -M 0 -N -o "ExitOnForwardFailure yes" -o "ConnectTimeout=1" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 40443:installserver:40443 -R 8080:installserver:8080 tunnel@%i
Restart=always
[Install]
WantedBy=multi-user.target
L'unité a échoué il y a 15 jours et systemd ne l'a pas redémarré, bien que "Restart = always" se trouve dans le fichier d'unité ci-dessus.
Voici la sortie d'état de ce service:
salt:/srv # systemctl status autossh@eins-work
[email protected] - Tunnel For eins-work
Loaded: loaded (/etc/systemd/system/[email protected]; enabled)
Active: failed (Result: start-limit) since Wed, 2016-02-10 14:33:34 CET; 2 weeks and 1 days ago
Main PID: 17980 (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/[email protected]/eins-work
Feb 10 14:33:34 salt systemd[1]: Stopping Tunnel For eins-work...
Feb 10 14:33:34 salt systemd[1]: Starting Tunnel For eins-work...
Feb 10 14:33:34 salt systemd[1]: Failed to start Tunnel For eins-work.
Feb 10 14:33:34 salt systemd[1]: Unit [email protected] entered failed state
En relation: /server//a/563401/90324
Comment configurer un service systemd pour qu'il redémarre toujours en cas d'échec?
systemd
fault-tolerance
guettli
la source
la source
Réponses:
Le service n'a pas pu démarrer trop de fois de suite, et donc systemd a renoncé à essayer. Voilà ce que
Result: start-limit
ça veut dire.Vous devez résoudre le problème à l'origine du démarrage du service.
Si vous avez besoin de régler le nombre de fois et comment systemd rapidement les tentatives de redémarrage d' un service défaillant, voir les
StartLimitInterval=
,StartLimitBurst=
et lesStartLimitAction=
options .la source