我希望systemd可以启动一个脚本,并重试最多5次,每隔30秒一次。 阅读systemd.service手册和搜索互联网都没有明显的答案。
如果要允许最多5次重试,每次间隔30秒,请在相关systemd服务文件中使用以下选项。
[Unit]
StartLimitInterval=200
StartLimitBurst=5
[Service]
Restart=always
RestartSec=30
这适用于运行使用 Type=idle
的脚本的服务。请注意,StartLimitInterval
必须大于 RestartSec * StartLimitBurst
,否则该服务将无限重启。当在 StartLimitInterval
内重新启动 StartLimitBurst
次时,该服务被视为 failed
。
参见https://www.freedesktop.org/software/systemd/man/systemd.unit.html#StartLimitIntervalSec=interval和https://www.freedesktop.org/software/systemd/man/systemd.service.html#RestartSec=
immortal -w 30 -r 5 <your command>
。 - nbari