以下是一个使用Python编写的批量备份交换机配置脚本的示例:

import paramiko
import time

def backup_switch_config(ip, username, password):
    try:
        # 创建SSH客户端对象
        client = paramiko.SSHClient()
        # 自动添加远程服务器的SSH密钥
        client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        # 连接远程服务器
        client.connect(ip, username=username, password=password)
        
        # 创建SFTP客户端对象
        sftp = client.open_sftp()
        
        # 执行命令获取交换机配置
        stdin, stdout, stderr = client.exec_command('show running-config')
        config = stdout.read().decode('utf-8')
        
        # 保存配置到本地文件
        backup_file = f'{ip}_config_backup.txt'
        with open(backup_file, 'w') as f:
            f.write(config)
            
        print(f'成功备份交换机 {ip} 的配置到 {backup_file}')
        
        # 关闭SFTP客户端
        sftp.close()
        # 关闭SSH客户端
        client.close()
        
    except Exception as e:
        print(f'备份交换机 {ip} 配置失败: {str(e)}')

if __name__ == '__main__':
    # 交换机IP地址列表
    switch_ips = ['192.168.1.1', '192.168.1.2', '192.168.1.3']
    # SSH用户名
    username = 'admin'
    # SSH密码
    password = 'password'
    
    for ip in switch_ips:
        backup_switch_config(ip, username, password)
        time.sleep(1)  # 间隔1秒备份下一个交换机配置

在上面的示例中,我们使用Paramiko库来连接交换机的SSH服务,并使用SSH客户端执行命令获取交换机的配置。然后,我们使用SFTP客户端将配置保存到本地文件中。最后,我们通过循环遍历交换机IP地址列表,调用backup_switch_config函数来批量备份交换机配置。请注意,你需要将switch_ipsusernamepassword替换为你自己的实际值。

使用Python脚本批量备份交换机配置

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

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