centos把可执行脚本加入服务,并使用定时器shell监控并重启

把可执行脚本加入服务

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