shell 监测文件夹文件内容是否改变

#! /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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值