Python 备份cisco ios 设备 简例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 备份cisco ios 设备 简例相关的知识,希望对你有一定的参考价值。

netmik库用来ssh,os库用来管理文件夹,datetime用于生成文件名
.

from netmiko import ConnectHandler
import os
import datetime
#define device type
cisco = {
    ‘device_type‘:‘cisco_ios‘,
    ‘ip‘:‘‘,
    ‘username‘:‘admin‘,
    ‘password‘:‘ccie‘,
    ‘secret‘:‘ccie‘,
}

.

#get ip address from a file
ip_addr = open("G:\\PythonProject_netmiko\\ipList.txt")
path ="G:\\PythonProject_netmiko\\"
folder_v = os.listdir() #查看當前文件夾所有文件
while True:
    print("input your bak file folder name:")
    folder_name = input()
    if folder_name in folder_v:
        print("there is a same name file already, please input again!")
    else:
        create_path = path + folder_name
        os.mkdir(create_path)
        print("Created folder:"+folder_name+" successfully!\n")
        print("NOTE:the bakup file will be in: ",create_path)
        break

for ip in ip_addr:
    cisco[‘ip‘] = ip.strip(‘\n‘)
    print(‘Connecting: ‘+ip.strip("\n")+"...")
    net_connect = ConnectHandler(**cisco)
    print("Connected successfully !")
    net_connect.enable()
    run_config = net_connect.send_command(‘show run‘)
    save_name = ip.strip() + datetime.datetime.now().strftime("-%Y%m%d-%H_%M_%S")
    print(‘Backing up: ‘+ip.strip("\n")+‘...‘)
    f = open(create_path +"\\"+save_name+".txt",‘w‘)
    f.write(run_config)
    f.close()
    print("Backed up successfully!")
f = open(create_path +"\\0_IP-date-time.fileType",‘w‘)#used to instruct
f.close()
ip_addr.close()

.
For minding codes

print("\n\n\nBacked up all devices compeleted ! ")
print("Please check the bakeup file in the follow folder: "+create_path)

.
Over~ Good luck to you !

以上是关于Python 备份cisco ios 设备 简例的主要内容,如果未能解决你的问题,请参考以下文章

python netmiko实现cisco网络设备配置备份

cisco网络设备IOS升级步骤

Cisco设备配置文件定期备份

cisco防火墙的备份与恢复问题

升级Cisco IOS及备份

Python 通过telnet 备份网络设备的配置