【问题标题】:How to set up a systemd service to retry 5 times on a cycle of 30 seconds如何设置 systemd 服务以 30 秒为周期重试 5 次
【发布时间】:2017-01-10 02:34:39
【问题描述】:

我希望 systemd 启动一个脚本并重试最多 5 次,相隔 30 秒。 阅读 systemd.service 手册和搜索互联网并没有得到任何明显的答案。

【问题讨论】:

标签: service systemd


【解决方案1】:

经过多次尝试和错误,我解决了我的问题,并认为值得在这里发布......

要允许最多 5 次重试,间隔 30 秒,请使用相关 systemd 服务文件中的以下选项。

[Unit]
StartLimitInterval=200
StartLimitBurst=5
[Service]
Restart=always
RestartSec=30

这适用于使用“Type=idle”运行脚本的服务。请注意,“StartLimitInterval”必须大于“RestartSec * StartLimitBurst”,否则服务将无限期重启。

【讨论】:

  • 可能值得注意的是——根据官方的 systemd 手册——RestartSec 和 Restart 是 [System] 的一部分,而 StartLimitInterval 和 StartLimitBurst 是 [Unit] 的一部分。
  • StartLimitInterval 是做什么的?
  • @GerhardHagerer 当您说 [System] 时,我认为您的意思是 [Service]。这对我有用。
  • 对我来说也为“Type= forking”工作,如果这意味着什么的话。
猜你喜欢
  • 1970-01-01
  • 2017-12-10
  • 2020-03-16
  • 1970-01-01
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多