且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-10-02 13:17:59

1
2
3
4
5
6
7
8
9
10
11
#!/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:去掉树型结构,直接以列的形式显示

    本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1773018如需转载请自行联系原作者


weilovepan520