Python 自动保存交换机配置 - 每 5 分钟和每天一次
Python 自动保存交换机配置 - 每 5 分钟和每天一次
本脚本使用 Python 语言实现,可以自动保存交换机配置,包括每 5 分钟保存一次运行配置和每天保存一次启动配置。代码简洁易懂,并附有详细注释。
导入所需模块
from ncclient import manager
from paramiko import SSHClient, AutoAddPolicy
import datetime
import time
定义交换机 IP 地址和登录信息
# 定义交换机IP地址和登录信息
host = '192.168.1.1'
username = 'admin'
password = 'password'
定义保存配置的函数
# 定义保存配置的函数
def save_config():
with manager.connect(host=host, username=username, password=password, hostkey_verify=False) as m:
# 发送保存配置的命令
m.edit_config(target='running', config='<save><config><file>startup-config</file></config></save>')
设置定时保存配置的时间
# 设置定时保存配置的时间
now = datetime.datetime.now()
save_time_24h = now.replace(hour=0, minute=0, second=0, microsecond=0) + datetime.timedelta(days=1)
save_time_5min = now + datetime.timedelta(minutes=5)
循环定时保存配置
# 循环定时保存配置
while True:
# 获取当前时间
now = datetime.datetime.now()
# 如果到了24小时的保存时间,则保存配置
if now >= save_time_24h:
save_config()
# 更新保存时间为下一天
save_time_24h = now.replace(hour=0, minute=0, second=0, microsecond=0) + datetime.timedelta(days=1)
# 如果到了5分钟的保存时间,则保存配置
if now >= save_time_5min:
save_config()
# 更新保存时间为下一次5分钟
save_time_5min = now + datetime.timedelta(minutes=5)
# 暂停1秒,避免过多占用CPU资源
time.sleep(1)
使用方法
- 将代码保存为
.py文件,例如save_config.py - 修改代码中的
host、username和password为你的交换机信息 - 运行代码:
python save_config.py
注意
- 本脚本需要安装
ncclient和paramiko库,可以使用pip install ncclient paramiko安装 - 确保你的交换机支持
netconf协议 - 脚本会无限循环运行,直到手动终止
- 脚本会每 5 分钟保存一次运行配置,每天保存一次启动配置
- 可以根据实际需求修改代码中的时间间隔
- 脚本需要在交换机可以访问的网络环境下运行
- 建议使用
crontab等工具定期运行脚本,确保配置能够及时保存
原文地址: https://www.cveoy.top/t/topic/n9xK 著作权归作者所有。请勿转载和采集!