How to set up a systemd service to retry 5 times on a cycle of 30 seconds

后端 未结 1 1479
傲寒
傲寒 2021-02-04 23:57

I want systemd to start a script and retry a maximum of 5 times, 30s apart. Reading the systemd.service manual and searching the Internet didn\'t produce any obvious answers.

1条回答
  •  野性不改
    2021-02-05 00:30

    After much trial and error I solved my problem and thought it worth posting here...

    To allow a maximum of 5 retries separated by 30 seconds use the following options in the relevant systemd service file.

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

    This worked for me for a service that runs a script using 'Type=idle'. Note that 'StartLimitInterval' must be greater than 'RestartSec * StartLimitBurst' otherwise the service will be restarted indefinitely.

    0 讨论(0)
提交回复
热议问题