一、创建脚本auto_reset_springboot.sh,tempurl:项目文件夹路径
!/bin/bash ID=`ps -ef | grep java| grep -v "grep" | awk '{print $2}'` echo $ID echo "---------------" for id in $ID; do kill -9 $id echo "killed $id" done source /etc/profile nohup java -jar /tempurl/tempname.jar -server.port=9090 >> /tempurl/nohup.out & echo "reset success"
以上脚本的解释:
1、获取所有Java进程的ID,赋值给变量ID
ID=`ps -ef | grep java| grep -v "grep" | awk '{print $2}'`
2、循环杀死进程:
for id in $ID; do kill -9 $id echo "killed $id" done
3、加载环境变量
source /etc/profile
4、后台启动springboot项目,并将日志放入tempurl/nohup.out中
nohup java -jar /tempurl/tempname.jar -server.port=9090 >> /tempurl/nohup.out &
二、安装dos2unix,转换文件类型
yum install dos2unix
dos2unix auto_reset_springboot.sh
三、执行文件,查看日志或查看pid的变化,项目是否已重新启动
如果不能执行,可能是文件权限没有执行权限,设置上执行权限就行了
./auto_reset_springboot.sh
四、设置定时执行文件
1、编辑定时任务:
crontab -e
2、设置定时执行cron表达式,每天凌晨一点执行:
0 1 * * * /tempurl/auto_reset_springboot.sh
3、重置定时器
service crond restart