把可执行脚本加入服务
1 新建一个文件 /etc/systemd/system/servername.service
vi /etc/systemd/system/servername.service
2 加入文件内容
[Unit]
Description=server description
After=network.target
[Service]
#这里是文件路径
ExecStart=/www/wwwroot/...
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
3 然后就可以使用systemctl来控制了
systemctl daemon-reload
systemctl start servername
systemctl status servername
#加入开机启动
systemctl enable servername
用shell脚本去监控服务并实现重启(crontab)
1 新建一个shell脚本
vi jk
填入以下内容
#!/bin/bash
if ! pgrep -x "servername" > /dev/null; then
# 如果进程不在运行,则重新启动
echo "`date` servername is stop, starting on" >> /www/wwwroot/servername.log
sudo service servername restart
fi
sleep 20
if ! pgrep -x "servername" > /dev/null; then
# 如果没启动成功,则重新vps
echo "`date` servername starting failed, reboot" >> /www/wwwroot/servername.log
sudo reboot
fi
2把这个脚本加入crontab定时器
crontab -e
加入以下内容
*/1 * * * * sh /www/wwwroot/jk