CentOS7脚本检测SpringBoot项目JAR包变化后自动重启

#!/bin/bash
# 文件目录
fileDir=/usr/local/project/back
logDir=/usr/local/project/logs
# 设置需要检测的文件路径
fileName=media-fuse-1.0.0.jar
# 获取当前文件最后编辑时间戳
initTime=`stat -c %Y $fileDir/$fileName`
# 循环查询文件最后编辑时间是否变化
while true
do
changeTime=`stat -c %Y $fileDir/$fileName`
if [ $changeTime -eq $initTime ];then
    echo $(date +%F%n%T) $fileDir/$fileName 'not change'
else
    initTime=$changeTime
    echo $(date +%F%n%T) $fileDir/$fileName 'has been changed'
    # 杀掉进程
    ps -ef|grep media-fuse-1.0.0|grep -v grep|cut -c 9-15|xargs kill -9
    # 运行新的文件
    nohup java -jar $fileDir/$fileName > $logDir/media-fuse.log &
fi
# 检测间隔
sleep 5
done

转自:https://blog.csdn.net/China_hdy/article/details/101303834

原文地址:https://www.cnblogs.com/dcrenl/p/13730588.html