使用Python实现网络设备的配置备份

目录

前言        

1.实验目的

2.实验拓扑

3.实验准备

 4.验证


前言        

        将网络设备的配置做备份是网络运维中必不可少的一项工作,根据公司的规模和要求不同,管理层可能会要求对网络设备的配置做月备、周备甚至日备,传统的备份思科交换机配置的办法是手动SSH远程登陆设备,然后输入命令term len 0和show run,将回显内容手动复制,粘贴到一个TXT或者Word文本文件中,效率十分低下,在有成百上千台设备的需要备份的网络中尤为明显

1.实验目的

        在centos 7主机上开启FTP Server服务,创建Python脚本,将SW1-SW5的running configuration备份保存到FTP服务器

2.实验拓扑

设备管理地址:SW1:192.168.200.2

                         SW2:192.168.200.3

                         SW3:192.168.200.4     

虚拟机IP地址:192.168.200.100   

               

3.实验准备

        (1)准备一台Centos 7的虚拟机,并且开启FTP服务,确保FTP登录没有问题,保证虚拟机和网络设备能互通,设备互通如下图所示

        FTP服务器测试:

如果不会配置FTP服务器,如果会可以直接跳过

请参考一下配置:

yum -y install vsftpd lftp //lftp可以不用装,用来本地测试的工具

systemctl restart vsftpd
systemctl enable vsftpd
systemctl status vsftpd //查看vsftpd运行服务状态

useradd python
password python //创建FTP用户

systemctl stop firewalld //关闭防火墙和SElinux,生产环境不建议这样,实验环境无所谓
setenforce 0

         (2)创建实验脚本backupconfig.py,代码如下

import paramiko
import time

username = "python"
password = "python"

f = open('ip_list.txt','r')

for line in f.readlines():
    ip = line.strip()
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect(hostname=ip, username=username, password=password,look_for_keys=False)
    print("成功登录到{}".format(ip))
    command = client.invoke_shell()
    command.send('save\n')
    time.sleep(1)
    command.send('Y\n')
    time.sleep(1)
    command.send('\n')
    time.sleep(1)
    command.send('ftp 192.168.200.100\n')
    time.sleep(1)
    command.send('python\n')
    time.sleep(1)
    command.send('python\n')
    command.send('bin\n')
    command.send('put vrpcfg.zip ' + ip + '_vrpcfg.zip' + '\n')
    time.sleep(1)
    command.send('quit\n')
    time.sleep(1)
    output = command.recv(65535)
    print(output.decode('ascii'))
f.close()
client.close()

 4.验证

 

 代码的讲解都在前几个实验,这里就不在赘述了

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值