当前位置:首页 > 操作系统 > Ios

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("nnnBacked up all devices compeleted ! ")
print("Please check the bakeup file in the follow folder: "+create_path)

.
Over~ Good luck to you !

原文:http://blog.51cto.com/jackor/2068351


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!