首页 > Linux系统管理 > linux 判断日志文件是否有写入
2016
01-29

linux 判断日志文件是否有写入

用stat 可以看文件的更新时间
stat -c %y filename
如果指定的文件最后修改时间在系统时间1分钟内则执行相关的命令
a=`stat -c %Y filename`;b=`date +%s`;if [ $[ $b – $a ] -gt 60 ];then command;else :;fi

#!/bin/bash
 
date=`date "+%Y-%m-%d+%H:%M:%S"`
 
a=`stat -c %Y /data/logs/cm.log`;
b=`date +%s`;
if [ $[ $b - $a ] -lt 61 ];
then
diff /data/logs/cm.log /data/logs/cm.log.diff >/tmp/diff.txt
mail -s "$date cm fail" xx@126.com </tmp/diff.txt
cat /data/logs/cm.log >/data/logs/cm.log.diff
else
:
fi

然后在crontab里面每分钟执行一次
就可以监测当每分钟内日志文件有更新就把更新发邮件出来通知

最后编辑:
作者:saunix
大型互联网公司linux系统运维攻城狮,专门担当消防员

留下一个回复