Python 快速检测配置文件是不是变更

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 快速检测配置文件是不是变更相关的知识,希望对你有一定的参考价值。

参考技术A

分享背景:

当项目非常多时随之而来的配置文件也会变得非常多,而且越发的复杂,有时候上线后才知道线上环境的配置文件不对,那么我们如何提前来检测到配置文件有改动了,本文将给你提供一个可以检测的手段。代码如下所示


1.导入包并指定目录


2.初始化配置文件的md5值并入库


3.检测新配置文件的md5值是否变化


4.文件进行md5加密处理


5.遍历指定目录下文件


6.代码运行入口

总结:

我们首先要确定我们要检测的配置文件,然后将它的当前的md5值进行初始化到数据库,当下次发布前我们可以针对性的进行一次检测,发现有变更就会提示出来,这样就可以做到提前知晓变更的配置文件,再人工介入进行重点检查。

检测目录文件变更数量及内容变更

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin/:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
dir=/home/
date_one_h=$(date +%Y%m%d%H -d ‘-1 hours‘)
old_file=/root/$(date +%Y%m%d -d ‘2 day ago‘)source.file
source_file=/root/$(date +%Y%m%d)source.file
new_file=/root/Desktop/$(date +%Y%m%d%H)new.file
change_content=/root/Desktop/$(date +%Y%m%d%H)diff.file
old_change_content=/root/Desktop/$(date +%Y%m%d%H -d ‘2 day ago‘)diff.file
if [ -s $source_file ] ;then
echo the file content alrealy exists!
else
#find $dir -print0 | xargs -0 du -sb >$source_file
ls -lR $dir >$source_file
echo "$source_file File content has been written!"
fi
if [ -s $new_file ] ;then
echo the $new_file content alrealy exists!
else
#find $dir -print0 | xargs -0 du -sb >$new_file
ls -lR $dir >$new_file
echo "$new_file File content has been written!"
fi
diff_input=$(diff $source_file $new_file)
if [[ -z $diff_input ]];then
echo "Nothing change"
else
echo "Here is the change"
echo "$diff_input">$change_content
fi
rm -rf $new_file
rm -rf $old_file
rm -rf $old_change_content

以上是关于Python 快速检测配置文件是不是变更的主要内容,如果未能解决你的问题,请参考以下文章

学会这一招,轻松测试 logstash 的配置文件

ansible配置文件

Python 配置文件相对路径&软件自动执行的工作目录

“配置”脚本如何检测我的系统是不是支持某些头文件或 cpp 功能?

Python中配置文件编写configparser

通过Python自带模块SimpleHTTPServer快速共享服务的配置文件