您的位置:首页 > 运维架构 > Shell

用shell监控站点目录下的文件是否被修改

2016-05-13 14:19 501 查看
#!/bin/bash
#check_file_md5 find /application/nginx/html/test1/ -type f | xargs md5sum > /tmp/web_md5_f.txt
#check_file_num tree -i /application/nginx/html/test1 | grep -v "^$" >> /tmp/web_md5_num.txt.default
MD5=`/usr/bin/md5sum -c /tmp/web_md5_f.txt | grep -v "OK" | wc -l`
TREE=`tree -i /application/nginx/html/test1 | grep -v "^$"> /tmp/web_md5_num.txt`
if [ "$MD5" -ne 0 ];then
echo "At $(date +%F) /application/nginx/html/test1 has been changed!Please make sure!"
else
echo "Everything is OK!"
fi
diff /tmp/web_md5_num.txt /tmp/web_md5_num.txt.default


实现的原理为
1.监控文件的md5值前后是否一样,如果不一样md5sum对比时会报错

2.通过tree命令输出到指定文件中,并用diff对比前后两的生成的内容是否一样,如果多出或者少的文件,会进行提示

知识点:
md5sum -c:可以实现md5值的前后对比,如果对比失败,会提示FAILED
tree -i:去掉树型结构,直接以列的形式显示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  修改 文件 监控