#!/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:去掉树型结构,直接以列的形式显示