Как автоматически перезапустить службу systemd при сбое? - PullRequest
0 голосов
/ 27 октября 2019

Я написал этот сервис, который запускает TCP-сервер, используя node.js для передачи данных с микроконтроллера на сервер MySQL.

root@DietPi:~# sudo cat /lib/systemd/system/mysqlwifi.service 
 [Unit]
 Description=MySQL exampledb update
 After=multi-user.target
 After=network-online.target
 Wants=network-online.target

 [Service]
 Type=idle
 ExecStart=/usr/bin/node /home/dietpi/node_server/mysqlwifi.js > /home/dietpi/node_server/mysqlwifi.log 2>&1

 [Install]
 WantedBy=multi-user.target
root@DietPi:~#

Поскольку этот сервис крайне важен для передачи данных в MySQL, я хочу, чтобы он автоматическиперезапустить при сбое. Я также хочу знать, как я могу отправлять электронную почту при каждой неудаче или когда сервис возобновляет работу.

1 Ответ

0 голосов
/ 29 октября 2019

Настройка Restart=on-failure на конфигурацию вашей службы должна сделать это, но проверьте Перезапустите документацию для получения дополнительных опций. Чтобы отправить электронное письмо, вы можете использовать предложение ExecStartPost= с вызовом mailx.

...