🐧 Как перезапустить службу systemd в случае сбоя |

🐧 Как перезапустить службу systemd в случае сбоя

Мануал

Настроим службу systemd для перезапуска в случае сбоя.

По умолчанию служба будет помечена как сбойная после пяти запусков подряд в течение десяти секунд.

$ cat /etc/systemd/system.conf | grep StartLimit
#DefaultStartLimitIntervalSec=10s
#DefaultStartLimitBurst=5

Создайте каталог конфигурации drop-in и определите следующие параметры для перезапуска службы (в данном примере honeycreeper) каждые десять секунд в случае сбоя.

$ 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

В случае сбоя сервис будет перезапускаться бесконечно.

$ 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)

Служба не будет помечена как сбойная, потому что она использует функцию постоянного автоматического перезапуска.

$ sudo systemctl --failed
  UNIT LOAD ACTIVE SUB DESCRIPTION
0 loaded units listed.

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий