场景描述
在centos 7上部署的java服务,有时会挂掉,为了能及时检测到服务运行状态以及及时拉起java服务,我们准备使用crontab写一个定时任务来定时检查服务的运行状态,并在挂掉时,重启java服务。
原始脚本
原始的脚本如下:
重启脚本
#!/bin/sh
jarDir="/data/publish/java"
jarName="java.jar"
logFile="/data/publish/java/autoRestart.log"
cd ${jarDir}
count=$(ps -ef | grep ${jarName} | grep -v "grep")
if [ -n "${count}" ];then
echo "`date` ${jarName} is alive" >> ${logFile}
else
echo "`date` ${jarName} is dead. restart it" >> ${logFile}
nohup java -jar java.jar > java.log 2>&1 &
fi
定时任务
[root@iZ8vb698vy6k1v3hf25feoZ ~]# crontab -l
* * */1 * * /data/publish/java/autoRestart.sh
[root@iZ8vb698vy6k1v3hf25feoZ ~]#
问题现象</