判断日志文件是否变化重启服务

判断日志文件是否变化重启服务

摘要

判断日志文件是否变化重启服务 shell 常用命令

如果日志文件发生变化就重启服务

#!/bin/bash



if [ ! -f /root/check_serverstatus/debugData.md5 ];then
  md5sum /data/api-open-server/log/debug/debugData > /root/check_serverstatus/debugData.md5
fi

ch_rs=`md5sum -c /root/check_serverstatus/debugData.md5`
echo $ch_rs

if [[ $ch_rs == *"OK"* ]] || [[ $ch_rs == *"确定"* ]]; then
  echo "MD5没有变化"
else
  echo "MD5变了"
  echo "restarting"
  md5sum /data/api-open-server/log/debug/debugData > /root/check_serverstatus/debugData.md5
  nohup  sh +x /data/api_restart/restart.sh > /dev/null 2>&1 &

fi

注意

如果/data/api_restart/restart.sh 里面用到了java命令
注意java命令应该写成全路径,比如 /root/.sdkman/candidates/java/current/bin/java
which java 可获取java命令的全路径.

每分钟执行一次

crontab -e
* * * * *  /bin/bash /root/check_debugData.sh > /root/check_debugData.log