#! /bin/bash
#定义验证文件目录
FileDir='/home/test'
#定义需要监测的文件夹
CheckDir=(
/home/test2
/home/test3
)
#定义生成所需验证的文件样本日志的函数
function OldFile(){
for i in ${CheckDir[@]}
do
echo $i
/bin/find ${i} -type f -print0 | xargs -0 md5sum >> ${FileDir}/old.log
done
}
function NewFile(){
for i in ${CheckDir[@]}
do
echo ${i}
/bin/find ${i} -type f -print0 | xargs -0 md5sum >> ${FileDir}/new.log
done
}
if [ ! -d ${FileDir} ]
then
mkdir ${FileDir} -p
fi
if [ ! -e ${FileDir}/old.log ]
then
OldFile
fi
#生成新的日志文件
NewFile
#新的日志文件与旧的日志文件进行对比
/usr/bin/diff ${FileDir}/new.log ${FileDir}/old.log > ${FileDir}/diff.log
Status=$?
if [ $Status -ne 0 ]
then
echo "文件变化"
cat ${FileDir}/diff.log
fi
#清除新旧日志文件,备份比较结果
/bin/cp -f ${FileDir}/diff.log ${FileDir}/diff$(date +%F__%T).log
cat /dev/null > ${FileDir}/old.log
cat /dev/null > ${FileDir}/new.log
#生成新的旧日志文件
OldFile