python 备份交换机_Python通过paramiko模块备份H3C交换机配置

本文介绍如何利用Python的paramiko模块备份H3C交换机配置。首先将交换机的running config保存到startup config,然后通过tftp将配置文件备份到指定服务器。此外,还展示了如何读取Excel文件中的交换机IP地址,实现批量备份。提供的Python代码实现了这些功能,但仍有改进空间。
摘要由CSDN通过智能技术生成

备份配置前,先保存交换机running config到starup config

交换机通过tftp备份配置文件

批量备份交换机配置(通过excel文件保存交换机IP)

name

ip

SUZ-SW-101

10.X.X.1

SUZ-SW-102

10.X.X.2

SUZ-SW-103

10.X.X.3

SUZ-SW-104

10.X.X.4

2.python代码

import xlrd

import paramiko

import time

def ssh_SW(name,ip):

now = time.strftime("%Y%m%d", time.localtime(time.time()))

trans = paramiko.Transport((ip, 22))

trans.connect(username=‘admin‘, password=‘passwd‘)

ssh = paramiko.SSHClient()

ssh._transport = trans

stdin, stdout, stderr = ssh.exec_command(‘save‘)

print(stdout.read().decode())

stdin, stdout, stderr = ssh.exec_command(‘tftp 10.x.x.100 put startup.cfg ‘ + name + ‘-‘ + now + ‘.cfg‘)

print(stdout.read().decode())

trans.close()

def main():

workbook = xlrd.open_workbook(‘./sw.xlsx‘)

sheet = workbook.sheet_by_name(‘Sheet1‘)

count = sheet.nrows

for i in range(count-1):

i = i + 1

rows = sheet.row_values(i)

name = rows[0]

ip = rows[1]

ssh_SW(name,ip)

if __name__=="__main__":

main()

3.脚本很简单,还有待完善

paramiko详解见以下链接

原文:https://blog.51cto.com/wcc127/2406932

要批量备份华为、H3C交换机配置,可以使用 PythonParamiko 模块来实现。以下是实现步骤: 1. 安装 Paramiko 模块 可以使用 pip 安装 Paramiko 模块:`pip install paramiko` 2. 编写 Python 脚本 ```python import paramiko # 定义交换机信息 switches = [ {'hostname': '192.168.1.1', 'username': 'admin', 'password': '123456', 'brand': 'huawei'}, {'hostname': '192.168.1.2', 'username': 'admin', 'password': '123456', 'brand': 'h3c'} ] # 遍历交换机列表 for switch in switches: # 连接交换机 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(switch['hostname'], username=switch['username'], password=switch['password']) # 根据品牌执行备份命令 if switch['brand'] == 'huawei': # 华为交换机备份命令 command = 'save configuration to tftp 192.168.1.3 VR-Mgmt-all-backup.cfg' elif switch['brand'] == 'h3c': # H3C交换机备份命令 command = 'backup startup-configuration to 192.168.1.3' # 执行备份命令 stdin, stdout, stderr = ssh.exec_command(command) # 输出备份结果 print(f"{switch['hostname']} backup {'successful' if not stderr.read() else 'failed'}") # 关闭连接 ssh.close() ``` 以上代码中,我们定义了一个 `switches` 列表,其中包含了多个交换机的信息,包括主机名、用户名、密码和品牌。然后遍历列表,根据品牌执行相应的备份命令,并输出备份结果。最后关闭连接。 在华为交换机备份命令中,我们使用了 `save configuration to tftp` 命令将配置备份到 TFTP 服务器上,需要提前在 TFTP 服务器上安装和配置 TFTP 服务。在 H3C交换机备份命令中,我们使用了 `backup startup-configuration to` 命令将配置备份到指定地址上。 注意:在执行 SSH 连接时,需要确认 SSH 服务已经启动,并且需要在防火墙中允许 SSH 服务通过。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值