我的服务器上运行着一个备份守护进程,它每隔几天就会崩溃一次。我不知道为什么。从长远来看,我想找出原因并修复它,但同时我希望 systemd 在崩溃时重新启动它。
它有一个老式的 SysV 初始化脚本,它被 systemd-sysv-generator 接收。显然,当它崩溃时,它会使用零(“成功”)退出代码。为了尝试在这些崩溃后重新启动它,我输入了一个override.conf:
~$ cat /etc/systemd/system/crashplan.service.d/override.conf
[Service]
Restart=always
Run Code Online (Sandbox Code Playgroud)
systemd 似乎正在解决这个问题:
roberts:~$ sudo systemctl show crashplan.service | grep Restart
Restart=always
RestartUSec=100ms
Run Code Online (Sandbox Code Playgroud)
尽管如此,当我在几天后检查它时,我发现:
roberts:~$ sudo systemctl status crashplan.service
? crashplan.service - LSB: CrashPlan Engine
Loaded: loaded (/etc/init.d/crashplan; bad; vendor preset: enabled)
Drop-In: /etc/systemd/system/crashplan.service.d
??override.conf
Active: active (exited) since Thu 2017-01-05 00:33:50 PST; 5 days ago
Docs: man:systemd-sysv-generator(8)
Jan 05 00:33:50 roberts systemd[1]: Stopped LSB: CrashPlan Engine.
Jan 05 00:33:50 roberts systemd[1]: Starting LSB: …Run Code Online (Sandbox Code Playgroud) systemd ×1