python写一华为、H3C交换机自动备份配置
时间: 2023-12-23 20:06:03 浏览: 163
华为和H3C的网络设备配置备份程序,基于python开发。
5星 · 资源好评率100%
好的,这里是一个基于 Python 的自动备份华为、H3C交换机配置的代码示例:
```python
import paramiko
import time
# 配置交换机信息
device_ip = '192.168.1.1' # 交换机 IP 地址
device_username = 'admin' # 交换机用户名
device_password = 'password' # 交换机密码
device_type = 'huawei' # 交换机类型,可选 huawei 和 h3c
# 连接交换机
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=device_ip, username=device_username, password=device_password)
# 登录交换机
if device_type == 'huawei':
ssh_shell = ssh.invoke_shell()
ssh_shell.send('screen-length 0 temporary\n')
time.sleep(1)
ssh_shell.send('sys\n')
time.sleep(1)
ssh_shell.send('user-interface vty 0 4\n')
time.sleep(1)
ssh_shell.send('user privilege level 15\n')
time.sleep(1)
ssh_shell.send('quit\n')
time.sleep(1)
ssh_shell.send('quit\n')
time.sleep(1)
else:
ssh_shell = ssh.invoke_shell()
ssh_shell.send('screen-length 0 temporary\n')
time.sleep(1)
ssh_shell.send('system-view\n')
time.sleep(1)
ssh_shell.send('user-interface vty 0 4\n')
time.sleep(1)
ssh_shell.send('user privilege level 3\n')
time.sleep(1)
ssh_shell.send('quit\n')
time.sleep(1)
ssh_shell.send('quit\n')
time.sleep(1)
# 进入系统视图
if device_type == 'huawei':
ssh_shell.send('sys\n')
time.sleep(1)
else:
ssh_shell.send('system-view\n')
time.sleep(1)
# 备份配置
if device_type == 'huawei':
ssh_shell.send('save configuration to tftp 192.168.1.2 huawei.cfg\n')
time.sleep(5)
ssh_shell.send('y\n')
time.sleep(5)
else:
ssh_shell.send('save configuration to tftp 192.168.1.2 h3c.cfg\n')
time.sleep(5)
ssh_shell.send('y\n')
time.sleep(5)
# 关闭连接
ssh_shell.close()
ssh.close()
```
说明:
1. 首先设置交换机的 IP 地址、用户名、密码和类型。
2. 使用 Paramiko 库连接到交换机,并登录到交换机。
3. 根据交换机类型,进入相应的系统视图,备份配置。
4. 关闭连接。
在代码中,备份配置是通过将配置文件保存到 TFTP 服务器上来实现的,你需要将 `save configuration to tftp` 命令中的 IP 地址改为你的 TFTP 服务器 IP 地址,将 `huawei.cfg` 或 `h3c.cfg` 改为你想要保存的配置文件名。同时,由于备份配置需要一定时间,代码中使用了 `time.sleep()` 方法来暂停执行。
阅读全文