刷新时间检测

小伙伴后台跑的java程序总是莫名其妙卡死,于是帮他写了个脚本定时检查日志文件有没有更新,没有更新的话重启程序。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash 
today=`date +%Y-%m-%d`
logfi='analysis'$today'.log'
otime=`stat -c %y /home/AnalysisLog/$logfi|awk '{print $2}'`

while ; do
    ctime=`stat -c %y /home/AnalysisLog/$logfi|awk '{print $2}'`
    if [[ "$otime" == "$ctime"  ]]; then
        `ps aux |grep $cmp |grep  -v "grep" |awk '{print "kill -9\t"$2}' |sh`
        `nohup /bin/sh /root/run/analysis/newAnalysis.bat &`
        sleep(30) # 等待重启 30s
        today=`date +%Y-%m-%d`
        logfi='analysis'$today'.log'
        otime=`stat -c %y /home/AnalysisLog/$logfi|awk '{print $2}'`
        sleep(3600) # 一个小时以后再检查 
    else
        echo "It is keeping updating!"
    fi  
    # 时间更新
    now=`date +%Y-%m-%d`
    today=$now
    logfi='analysis'$today'.log'
    otime=`stat -c %y /home/AnalysisLog/$logfi|awk '{print $2}'`
done