centos7检查Java项目存活与否并重启


在centos等linux系统中,Java项目偶尔会挂掉。

所以我们需要一个定时任务,检测项目存活与否,如果挂了,重启之。

1新建一个文件,autoRestart.sh

cd /var/www/server  // 我的项目主目录,请自行修改

vim autoRestart.sh

2脚本内容如下:

#!/bin/sh

jarDir="/var/www/server"
jarName="yourproject.jar"
logFile="/var/www/server/autoRestart.log"

cd ${jarDir}

count=$(ps -ef | grep ${jarName} | grep -v "grep")
if [ -n "${count}" ];then
	echo "`date` ${jarName} is alive" >> ${logFile}
	#echo "`date` ${jarName} is alive"
else
	echo "`date` ${jarName} is dead. restart it" >> ${logFile}
	#echo "`date` ${jarName} is dead. restart it"
	nohup java -jar ${jarName} --server.port=8080 --spring.profiles.active=pro > yourproject.log 2>&1 &
fi

3添加运行权限

chmod +x autoRestart.sh

4新增一个定时任务

crontab -e

添加定时任务,每5分钟(自行调整)运行一次

*/5 * * * * /var/www/server/autoRestart.sh

PS:以上脚本在centos7下运行无误,其它环境请自行修改

另,如果只是单纯重启,可以访问