300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python备份cisco交换机_1.自动备份思科交换机配置

python备份cisco交换机_1.自动备份思科交换机配置

时间:2019-04-29 10:12:40

相关推荐

python备份cisco交换机_1.自动备份思科交换机配置

自动备份思科交换机配置

-10-11 Python 宅必备

这个专题主要是一些日常用到的Python程序,不定期更新~~

备份原理

首先读取txt文档中的ip地址

然后循环地址,通过是我提出函数来获取配置信息

然后判断有没相应路径,没有则新建

最后保存在文件中

脚本内容

__author__ = '42274'

#encoding=utf-8

import telnetlib

import time

import datetime

import os

def switch(hostname,username,password1,password2,cmd1,cmd2):

tn = telnetlib.Telnet(hostname,timeout=10)

#tn.set_debuglevel(2)

tn.read_until("Username: ")

tn.write(username + "\n")

tn.read_until("Password: ")

tn.write(password1 + "\n")

tn.read_until(">")

tn.write('en'+ "\n")

tn.read_until("Password: ")

tn.write(password2 + "\n")

tn.read_until("#")

tn.write("terminal length 0"+"\n")

tn.write(cmd1 + "\n")

tn.write(cmd2 + "\n")

#tn.read_until("#")

tn.write("exit\n")

result=tn.read_all()

#print tn.read_all()

return result

if __name__ == '__main__':

# hostname = "10.65.5.1"

username = 'file'

password1='password1'

password2='password2'

cmd1='show run'

cmd2='show version'

file = open("g:\swbackup\ipaddress.txt")

ipaddress=file.readlines()

for hostname in ipaddress:

hostname=hostname.strip()

now = datetime.datetime.now()

dirname=hostname

#dirname="%.2i%.2i%.2i" % (now.year,now.month,now.day)

filename_prefix='SWB_'+hostname

filename = "%s_%.2i%.2i%.2i%.2i%.2i%.2i" % (filename_prefix,now.year,now.month,now.day,now.hour,now.minute,now.second)+'.txt'

#filename = "%s_%.2i%.2i%.2i" % (filename_prefix,now.hour,now.minute,now.second)+'.txt'

result=switch(hostname,username,password1,password2,cmd1,cmd2)

base='g:\\swbackup\\'

path=base+dirname+'\\'

ifExists=os.path.exists(path)

if not ifExists:

os.makedirs(path)

else:

pass

backfile=path+filename

fp=open(backfile,"w")

fp.write(result)

fp.close()

参数说明

base 代表需要保存配置信息文件的根目录

dirname代表子目录的名称,这里以ip地址作为子目录的名称

path代表保存配置信息文件的目录位置

filename_prefix代表保存配置信息文件的文件名前缀,采用’SWB+IP地址的形式

filename代表配置信息文件的名称,这里采用前缀+备份时间作为最终文件名

backfile即为最终保存配置文件的完整路径

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。