如何在出现故障时自动重启systemd服务?

Cia*_*arz 7 systemd raspbian

我编写了这个服务,它使用 node.js 运行 TCP 服务器,将数据从微控制器获取到 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:~#
Run Code Online (Sandbox Code Playgroud)

由于此服务对于将数据推送到 mysql 至关重要,我希望它在失败时自动重新启动。我还想知道如何在每次失败或服务恢复正常时发送电子邮件。

Seb*_*ián 11

[Service]
Restart=on-failure
Run Code Online (Sandbox Code Playgroud)

设置Restart=on-failure您的设备配置应该可以做到这一点,但请检查重新启动文档以获取更多选项。要发送电子邮件,您可以ExecStartPost=mailx通话中使用子句。