这是我的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
单元在15天前失败,systemd没有重新启动,虽然“Restart = always”在上面的单元文件中。
这里是这个服务的状态输出:
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
相关: https : //serverfault.com/a/563401/90324
如何configurationsystemd服务,以便在出现问题时始终重新启动?
该服务连续多次启动失败,所以systemd放弃尝试。 这是什么Result: start-limit手段。
请注意,configuration为
Restart=且达到启动限制的单元不会尝试重新启动; 然而,他们仍然可以在稍后的时间手动重新启动,从这一点开始,重新启动逻辑再次被激活。 请注意,systemctl reset-failed会导致刷新服务的重启率计数器,如果pipe理员想要手动启动一个设备并且启动限制会干扰该设置,这非常有用。
您应该解决导致服务无法启动的问题。
如果您需要调整系统尝试重启故障服务的次数和速度,请参阅StartLimitInterval= , StartLimitBurst=和StartLimitAction=选项 。