#!/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