#脚本#  VPS监控指定目录下文件是否变动

 

监控目录变动,然后用git同步目录,起到备份的作用

复制粘贴+修修改改就行了

脚本

#验证文件目录
FileDir='/root/FileDir'
#需要监控的目录
CheckDir=(
/root/test
)

#生成所定义需验证的文件样本日志函数
OldFile () {
for i in ${CheckDir[@]}
do
/bin/find ${i} -type f |xargs md5sum >> ${FileDir}/old.log
done
}
NewFile () {
for i in ${CheckDir[@]}
do
/bin/find ${i} -type f |xargs md5sum >> ${FileDir}/new.log
done
}

#假如验证文件目录不存在则创建
if [ ! -f ${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 "文件发生了变化"
fi

#清除新旧日志,把比较结果进行备份
/bin/mv -f ${FileDir}/diff.log ${FileDir}/diff$(date +%F__%T).log
cat /dev/null > ${FileDir}/old.log
cat /dev/null > ${FileDir}/new.log

#重新生成样本日志
OldFile

#删除目录内30天以前的比较结果备份文件
/bin/find ${FileDir} -type f -mtime +30 |xargs rm -f