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