在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下运行无误,其它环境请自行修改
另,如果只是单纯重启,可以访问centos7中Java项目重启