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)

使用方法

  1. 将代码保存为 .py 文件,例如 save_config.py
  2. 修改代码中的 hostusernamepassword 为你的交换机信息
  3. 运行代码:python save_config.py

注意

  • 本脚本需要安装 ncclientparamiko 库,可以使用 pip install ncclient paramiko 安装
  • 确保你的交换机支持 netconf 协议
  • 脚本会无限循环运行,直到手动终止
  • 脚本会每 5 分钟保存一次运行配置,每天保存一次启动配置
  • 可以根据实际需求修改代码中的时间间隔
  • 脚本需要在交换机可以访问的网络环境下运行
  • 建议使用 crontab 等工具定期运行脚本,确保配置能够及时保存
Python 自动保存交换机配置 - 每 5 分钟和每天一次

原文地址: https://www.cveoy.top/t/topic/n9xK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录