Configure systemd service to be restarted in case of failure.
By default, the service will be marked as failed after five consecutive starts in ten seconds.
$ cat /etc/systemd/system.conf | grep StartLimit
#DefaultStartLimitIntervalSec=10s #DefaultStartLimitBurst=5
Create a drop-in configuration directory and define the following parameters to restart the service (honeycreeper
in this example) every ten seconds in case of failure.
$ sudo mkdir -p /etc/systemd/system/honeycreeper.service.d
$ cat <<EOF | sudo tee /etc/systemd/system/honeycreeper.service.d/restart.conf [Unit] StartLimitIntervalSec=0 [Service] Restart=always RestartSec=10 EOF
$ sudo systemctl daemon-reload
In case of failure, the service will be restarted endlessly.
$ sudo systemctl status honeycreeper
● honeycreeper.service - honeycreeper Loaded: loaded (/etc/systemd/system/honeycreeper.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/honeycreeper.service.d └─restart.conf Active: activating (auto-restart) (Result: exit-code) since Sun 2020-08-23 19:19:37 CEST; 6s ago Docs: man:honeycreeper(1) file:/usr/share/doc/honeycreeper/configuration.txt.gz Process: 614105 ExecStartPre=/usr/sbin/honeycreeper -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=1/FAILURE)
Service will not be marked as failed because it is using the permanent auto-restart feature.
$ sudo systemctl --failed
UNIT LOAD ACTIVE SUB DESCRIPTION 0 loaded units listed.