有时候我们已经会遇到服务突然掉线的问题,但是我们一直不知道,一直等到有人通知,或者自检的时间才发现。现在我为了确保服务在停止后,能够自动重启,做一个自动检测脚本xxx.sh,放到系统定时任务里面,几分钟检测一次查看服务在不在线,如果不在就重启服务。
sh脚本的写法:
#!/bin/bash
num=`ps -ef|grep jar包名|grep -v grep|wc -l`
if [ $num -lt 1 ];then
source /etc/profile
nohup java -jar /xxx/xxx/xxx.jar >> /xxx/xxx/log-server-$(date +%Y-%m-%d).log 2>&1
else
echo $(date '+%Y-%m-%d %H:%M:%S') $@ >> /xxx/xxx/log.log
fi
crontab -e 查看定时任务,
点击 insert 按键编写定时任务,
# 注释
*/3 * * * * /xxx/xxx/start.sh
定时任务编写完成后,点击 Esc 按键,输入“:wq” 在点击回车,退出
最后给sh脚本文件设置权限
chmod 777 start.sh
好了到这以后就大功告成了,如果对您有用,请帮忙扫一下下方二维码,给个点击量,开发不易。