介绍:
在日常运维过程中,需要定时备份设备的配置,在设备数量过于庞大的情况下,对我们的运维工作会造成极大地不便,通过python自动化能够完美解决人工手动保存设备配置的问题。而且自动化运维在未来也一定是大势所趋,在没有厂家网管软件的加持下,通过python是当下最好的选择。
代码介绍:
本次自动化代码中,共3个文件
backup.py:通过运行此python程序实现定时备份设备配置文件
command.txt:设备查看全部配置文件命令
sw.txt:需要备份的设备IP,每次输入一个IP需要换行处理
代码执行效果:
执行代码后,会自动新建一个文件夹,而文件夹的名字会获取当前日期来进行命名
而文件夹内则是存储当日保存的设备配置文件,配置文件的命令是通过抓取交换机的设备名+当前日期(年月日时分秒)来进行命名的。
代码可以通过修改,来满足管理员的需求,你想7天一备份,10天一备份都可以,下面是通过修改代码来满足需求的步骤。
第92行和第93行是设备的SSH账号和密码,请自行修改
USERNAME = "h3c" # 交换机登录用户
PASSWORD = "huawei@123" # 交换机登录密码
106行使倒计时时间,此功能仅用于个性化,比如设置了一分钟一次巡检,那么可以将数值填60,在巡检结束后就会出现60秒后开启下次巡检,
countdown(10) # 倒计时10秒,实际应用时可以设置为更长时间
121行是每经过15天就会进行一次配置备份,管理远可通过修改数值,满足自己的需求,比如改为7,就是每7天进行一次配置备份
#schedule.every(15).days.do(run_backup)
124行用于代码测试,可以将121行注释掉,然后将124行的数值改为1就是,每隔1分钟备份一次配置
schedule.every(1).minutes.do(run_backup) #测试完毕后可以注释掉
126行是代码开始后输出的提示,可自行修改
print("任务调度启动,等待下次备份开始...")
130行是代码自检周期,程序会通过检查是否符合要求来再次执行
time.sleep(60) # 每60秒检查一次任务是否需要运行
这个自动化程序可以减轻管理员的工作量,为管理员更高效的管理网络带来帮助。