当然可以!以下是一个使用 Python 编写的思科交换机备份脚本的示例:

import paramiko
import time

def backup_switch(ip, username, password):
    # 创建 SSH 客户端
    client = paramiko.SSHClient()
    # 自动添加主机到已知主机列表
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    
    try:
        # 连接交换机
        client.connect(ip, username=username, password=password)
        
        # 创建 SSH 会话
        ssh_session = client.invoke_shell()
        
        # 发送命令
        ssh_session.send('terminal length 0\n')
        time.sleep(1)
        ssh_session.send('show running-config\n')
        time.sleep(5)
        
        # 接收输出
        output = ssh_session.recv(65535)
        
        # 保存备份到文件
        filename = f'backup_{ip}.txt'
        with open(filename, 'w') as f:
            f.write(output.decode())
        
        print(f"备份成功,保存为 {filename}")
    
    except paramiko.AuthenticationException:
        print(f"认证失败,IP 地址: {ip}")
    except paramiko.SSHException as e:
        print(f"无法连接到交换机,IP 地址: {ip}, 错误信息: {str(e)}")
    except Exception as e:
        print(f"备份失败,IP 地址: {ip}, 错误信息: {str(e)}")
    
    finally:
        # 关闭 SSH 会话和 SSH 客户端
        ssh_session.close()
        client.close()

# 主函数
if __name__ == '__main__':
    # 输入交换机的 IP 地址、用户名和密码
    ip = input("请输入交换机的 IP 地址: ")
    username = input("请输入用户名: ")
    password = input("请输入密码: ")
    
    # 备份交换机配置
    backup_switch(ip, username, password)

使用该脚本时,会提示您输入交换机的 IP 地址、用户名和密码。然后,它将连接到交换机,执行show running-config命令并将输出保存到名为backup_[IP地址].txt的文件中。

注意:在运行脚本之前,确保已经安装了paramiko库。您可以使用以下命令安装该库:

pip install paramiko

希望这可以帮助到您!如果您有任何问题,请随时向我提问。


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

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