使用Python脚本批量备份交换机配置
以下是一个使用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_ips、username和password替换为你自己的实际值。
原文地址: https://www.cveoy.top/t/topic/pllR 著作权归作者所有。请勿转载和采集!