Python 脚本备份思科交换机配置
当然可以!以下是一个使用 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 著作权归作者所有。请勿转载和采集!