前言
生产上一个模块会部署在很多台服务器上,虽然现在自动化部署可以把配置文件同步推送到多台服务器上,但还是不能保证所有机器上配置文件都一样,所以又整了一个脚本来检查。
实现思路
- 所有工作都是在堡垒机上进行的,首先要测试机器是否支持该操作,如果不支持后面就不用看了;先运行测试脚本,查看是否可以登录服务器,查看服务器上的文件内容;
- 开4个线程同步进行后面的比较工作,后续是每个线程的工作;
- 把同一个模块所有要比较的机器登录配置放在一个csv文件中,读取所有csv,然后一个个模块遍历;
- 从csv文件中读取同一个模块所有机器的配置文件;
- 在内存中建立一个Map,key是机器的ip,value是这台机器上所有配置文件的内容;
- 通过paramiko进入每台机器中,通过channel的方式,su到操作账号上,进行具体的指令;
代码如下
#登陆machine
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko
Paramiko多服务器配置文件一致性检查脚本

本文介绍了一种使用Paramiko库在堡垒机上实现多台服务器配置文件比较的方法,旨在确保生产环境中所有机器配置的一致性。通过读取CSV文件中的服务器信息,脚本将逐个检查并对比配置文件内容,对不一致的部分进行记录。后续工作包括将脚本从Python 2.7升级到Python 3.7,优化SSHUtil模块的正则表达式,并处理堡垒机的离线环境下的依赖安装。
最低0.47元/天 解锁文章
989

被折叠的 条评论
为什么被折叠?



