/data/restart.sh脚本内容如下 注意替换进程名称 日志路径及需执行的命令
#!/bin/sh
#author by JoshYoby 2019-11-26
appname=test.jar #如检测nginx 则appname=nginx 下面命令替换为nginx启动命令
checkrun=`ps -ef | grep $appname | grep -v "grep" | wc -l` #返回 ps -ef 出来的所有字符串中含有 $appname 的进程个数
#echo $checkrun
if [ 0 = $checkrun ]; then
#进程不存在
time2=$(date "+%Y-%m-%d %H:%M:%S")
echo "$appname 服务宕机,正在重新启动宕机时间为:"$time2>>/data/$appname.log
nohup java -jar /data/test.jar > /dev/null 2>&1 &
echo "$appname 重新启动成功!!!">>/data/$appname.log
else
#进程存在
echo "$appname 服务运行正常...持续监控中">>/data/$appname.log
fi
time=$(date "+%Y-%m-%d %H:%M:%S")
echo "==================>本轮监测完毕,当前时间为:"$time>>/data/$appname.log
给脚本添加执行权限chmod +x /data/restart.sh
执行以下命令进入定时任务crontab -e
添加以下内容 举例 每小时执行restart.sh脚本* */1 * * * /data/restart.sh
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。