利用secureCRT脚本对华为交换机进行批量备份
通过SecureCRT自动批量备份交换机的vbs脚本
'读入登录密码
crt.Screen.WaitForString "Password:"
crt.Screen.Send params(2) & vbcr
crt.Screen.waitForString "#"
crt.session.LogFileName = "D:\SecureCRT\Data\log\" & params(3) & params(4) & params(5) & ".txt"
crt.session.Log(true)
'Telnet到这个设备上,也可以修改为ssh,参数参考crt文档
End Sub
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso,file1,line,str1,params
Set fso = CreateObject("Scripting.FileSystemObject")
Set file1 = fso.OpenTextFile("D:\SecureCRT\Data\scripts\list.txt",Forreading, False)
crt.Screen.Synchronous = True
DO While file1.AtEndOfStream <> True
'读出每行
line = file1.ReadLine
'分离每行的参数 IP地址params(0) 登录用户名params(1),密码params(2),备份文件命名规则params(3)等
交换机配置批量备份使用说明
最后点击开始备份按钮就可以进行交换机配置的备份了,备份出来的文件,以 “IP地址.txt” 命名,直接保存到D盘的根目录下。
优点:
1.速度还算不错,差不多2-3秒可以备份一个,我单位的200多台交换机,10几分钟就搞定了。
2.我用的不是直接tftp拷备config.cfg,而是用的show run和dis cu命令,把显示的内容保存到“IP地址.txt” 文件中。这样的话有谁配置交换机后,忘记wr和save也没有关系。
编这个小程序半天功夫就完成了,做的很简单,主要是自己用的。觉得有用的兄弟可以免费拿去试试,如果有兄弟想进一步深度开发这个程序的话,比如添加定时备份、想支持其他品牌交换机、支持不同密码批量等功能。可以和我在QQ:3309288 上谈谈!
软件使用说明:
支持交换机,华三,思科(锐捷)交换机需要配置vty,允许telnet。
使用方法:
第一步输入交换机的两个密码,“S密码”就是华三的super密码,或者思科的enable密码
第二步选择备份的交换机种类,目前备份一批次只能是同一品牌的。
小问题:
1.由于没有用多线程来编写,所以碰到不通的IP地址,程序会有假死的现象,可以不用管他,过一会儿程序联不通这个IP地址,就会自动跳过。
2.备份出来的配置文本中,会有---more--- 和几个特定乱码,等少量多余内容,影响不大,我也懒得在程序中编写代码去掉他了。
3.备份交换机如果是用户名和密码登录的,还不能识别,无法正确备份配置(主要的我的交换机基本没有这样配置的,所以也就没去考虑怎么写程序代码)
第三步添加IP地址,一种是手工一个个加;另一种是批量导入,把你的IP地址,一个一行写到一个txt文件中(举例如下),再用批量导入功能导入。如果交换机IP址象我一样有几百台的话,建议先在excel中,用填充句柄一次性拉出来,再复制到txt文件中,这样可以省很多力。
SecureCRT批量操作指导书
文档名称 文档密级:
2013-4-16
华为机密,未经许可不得扩散 第1页, 共1页 SecureCRT 批量操作指导书
1、 打开批量操作窗口:Options->Global Options->Appearance->Show chat window
打勾,在屏幕下方会显示空白框
2、 鼠标右键单击空白框,选择“Send chat to all tabs ”,然后直接在<Send chat to all
tabs>提示符下输入命令,就可以在所有打开的设备上批量操作命令了。
如下图:在<Send chat to all tabs>提示符下输入命令“vmstat 1 10”,在SecureCRT 工具中登录的所有设备都会同时执“vmstat 1 10”命令:
3、
在执行批量操作前如果需要保存log 日志,则选择File->Log session
对于维护设备非常多的局点,使用本批量操作方法可以大幅度提高工作效率。
SecureCRT配置文件备份
2、备份配置文件 进入上述配置文件目录,将里面的所有文件打包复制。
3、配置文件恢复 将步骤2中打包的文件解压到新安装SecureCRT软件的配置文件目录,或将其配置文件目录设置为备份的配置文件目录。
博客园 用户登录 代码改变世界 密码登录 短信登录 忘记登录用户名 忘记密码 记住我 登录 第三方登录/注册 没有账户, 立即注册
SecureCRT配 置 文 件 备 份
日常工作中,为了避免重装系统导致SecureCRT的相关配置(button ba置文件所在路径 打开SecureCRT软件,依次点击菜单栏下的Options-->Global Options-->General-->Configuration Paths
SecureCRT脚本的批量管理
利用SecureCRT脚本,实现对N台服务器的批量管理SecureCRT是一款终端仿真程序,支持ssh、Telnet和rlogin协议,可以在windows平台通过它对unix、linux进行访问,相比同类软件,它的强大之处就在于支持vbs、js等脚本,利用脚本可实现批量操作,如:获取服务器相关信息、部署软件、修改密码、升级软件、上传/下载、修改文件等等,还能生成excel报表,最大的优点,就是无需在服务器端安装agent,这是其他软件无法与之相媲美的,当初在给工行做项目的时候,在3000多台服务器上部署软件,用的就是SecureCRT脚本。
下面分享一个例子:该脚本用vbs语言编写,脚本会读取iplist文件,通过ssh方式连接服务器,在centos5.5_64bit系统上自动安装lrzsz软件,脚本对目标服务器进行了判断,如已经安装lrzsz软件则退出,否则执行安装程序。
SecureCRT-vbs脚本使用说明一.脚本运行环境1. 需要在客户端安装SecrueCRT软件二.脚本使用方法1.打开SecureCRT,不连接任何会话2.选择脚本菜单----执行,选择你要运行的脚本,如弹出下面的提示,选择接受并保存。
3.脚本执行过程中,最好不要进行其他操作,脚本执行完后会自动退出三.自动安装脚本参数介绍:outputpath = ".\install-log.txt" '输出文件,脚本运行后会自动创建iplistpath = ".\ip.txt" 'ip列表文件,需提前创建,每行有2列,用1个空格作为分隔符,首尾不能有多余的空格或其他字符,iplist格式如下:192.168.0.1 123456192.168.0.2 abcd1234loginuser = "root" '登陆用户productpath = "/usr/local/src" '产品路径,可自行定义Ssh、Main部分都已写成函数,一般情况下无需更改。
华为交换机配置方法
华为交换机配置方法华为交换机是一种高性能网络交换设备,广泛应用于企业、政府机构、教育机构等各种网络环境中。
下面是华为交换机配置的详细方法:登录华为交换机使用终端软件,如SecureCRT或PuTTY,连接到华为交换机的管理口,并输入用户名和密码进行登录。
一般情况下,用户名为admin,密码为admin。
进入系统视图华为交换机采用层级结构的管理视图,系统视图是最高层级的视图。
在登录成功后,可以通过输入system-view命令进入系统视图。
配置基本网络参数在系统视图下,可以配置华为交换机的基本网络参数,包括IP地址、子网掩码、网关和DNS服务器等。
具体命令如下:配置IP地址:interface vlanif 1,ip address 192.168.1.1 24配置网关:ip route-static 0.0.0.0 0.0.0.0 192.168.1.254 配置DNS服务器:ip dns server-address 8.8.8.8其中,vlanif 1是虚拟接口编号,192.168.1.1是华为交换机的IP地址,24是子网掩码的长度,0.0.0.0 0.0.0.0表示默认路由,192.168.1.254是网关的IP地址,8.8.8.8是DNS服务器的IP地址。
配置VLANVLAN是一种虚拟局域网技术,可以将不同的物理端口划分到不同的逻辑网络中。
华为交换机支持IEEE 802.1Q标准的VLAN。
具体命令如下:创建VLAN:vlan batch 10 20配置VLAN接口:interface vlanif 10,ip address 192.168.10.1 24配置端口所属VLAN:interface gigabitethernet 1/0/1,port link-type access,port default vlan 10其中,vlan batch 10 20是批量创建VLAN 10和VLAN 20,interface vlanif 10是VLAN 10的虚拟接口,192.168.10.1是VLAN 10的IP地址,gigabitethernet 1/0/1是物理端口的接口编号。
SecureCRT批量备份路由器设置
在日常工作中,可能面临几百台网络设备的管理,如何高速可靠的对这些设备进行管理备份下面以华为H3C为例:实测1百多台设备非常高效且容错效果好不易中断,耗时几分钟即对所有路由器配置进行了备份给出的示例脚本并非网上所流传的VBS脚本,而是用python编写的脚本,进行了大量容错处理与测试。
具有如下特点:1、在log目录下自动建立当前日期命名的文件夹,用于存放导出的配置文件2、在log目录下自动生成当前日期命名的日志文件,记录操作失败的设备3、对于不能成功连接的设备或登录失败的设备,会自动跳过,不影响后续操作,不会卡在中间,不会造成批量操作中断4、首先使用列表中用户名和密码尝试登录,若失败,则尝试使用列表中的用户名和”123456”(可在脚本中自己修改)进行登录脚本运行准备工作:1、首先建立如下目录: d:\h3cbackup\log ,此目录可配合脚本修改成其它目录2、建立list设备列表文件,文件类型为文本文件,每行为1台设备相关信息,用空格分割,如下:IP地址用户名密码192.168.1.1admin123321192.168.1.2root321123―――――――这里是分割线,下面是脚本――――――――――――――复制分割线间的内容到记事本,修改扩展名为py――――# $language = "Python"# $interface = "1.0"#本脚本用途:从一个文件里面自动读取设备IP地址,密码等,自动将设备配置备份import datetimeimport os#获取当前系统日期并格式化日期格式为YYYYMMDDtoday = datetime.date.today()monthStr="{0:02}".format(today.month)dayStr="{0:02}".format(today.day)todayStr=str(today.year)+monthStr+dayStr#打开保存设备管理地址密码列表文件filePath=crt.Dialog.FileOpenDialog("请选择设备列表文件","打开","list.txt","(*.txt)|*.txt")listfile=open(filePath,"r")crt.Screen.Synchronous = True#创建日志文件,记录操作失败设备列表logfile=open("d:\\h3cbackup\\log\\"+todayStr+".txt","w+") #在log目录下自动创建日期命名的文件夹path="d:\\h3cbackup\\log\\"+todayStrif os.path.exists(path)==False:os.mkdir(path)#numSuc记录成功操作个数,numFai记录操作失败个数numSuc=0numFai=0#读出每行,循环操作for line in listfile:#如果遇到只有换行符无内容的行直接跳过if line=="\n":continue#分离每行的参数IP地址用户名密码超级密码params=line.split()#Telnet到这个设备上并判断是否连接成功errcode = 0try:crt.Session.Connect("/TELNET "+params[0]) except ScriptError:errcode = crt.GetLastError()if errcode != 0:#连接失败跳过后续代码进入下次循环logfile.write("连接失败:"+params[0]+"\n")numFai+=1continueelif crt.Session.Connected:r=crt.Screen.WaitForStrings(['login:','Username:'],1)crt.Screen.Send(params[1]+"\r")crt.Screen.WaitForString('Password:',1)if r==1:crt.Screen.Send(params[2]+"\r")if r==2:crt.Screen.Send("123456\r")if crt.Screen.WaitForString(">",2)==False:crt.Screen.WaitForStrings(['login:','Username:'],10)crt.Screen.Send(params[1]+"\r")crt.Screen.Send(params[2]+"\r")#备份目前runing-config配置crt.Session.LogFileName = path+"\\" + params[0] + ".txt"if crt.Session.Logging==False:crt.Session.Log(True)crt.Screen.Send("dis cu\r")while crt.Screen.WaitForString("---- More ----",2):crt.Screen.Send(" ")#备份完成后退出if crt.Screen.WaitForString("return",1):crt.Screen.Send(" ")crt.Session.Disconnect()numSuc+=1else:logfile.write("未知原因:"+params[0]+"\n")numFai+=1logfile.close()crt.Screen.Synchronous = Falsecrt.Dialog.MessageBox("操作完毕\n共:"+str(numSuc)+"个设备操作成功\n共:"+str(numFai)+"个设备操作失败","",64|0)―――――――――这里是分割线――――――――――结束如不是以return 结束,可以自行修改这里的关键字if crt.Screen.WaitForString("return",1):想偷懒的赶紧试试吧附:Crt脚本运行方法,打开CRT软件―〉选择Script-〉选择脚本文件-〉选择设备列表list文件-〉等待运行结束查看结果。
网络交换机配置备份脚本介绍
一、脚本介绍1.本文的自动配置备份脚本是通过BAT脚本自动运行CRT-登录交换机-查看当前配置-记录会话-保存会话的方式实现的。
2.本方法需要把以下4个文件要放置在同一目录下:(1)配置备份.bat主要实现统计备份前后文件数量,运行CRT(2)配置备份.vbs此脚本实现CRT自动登录交换机,并查看配置记录会话(3)SWIP.txt 记录交换机IP(4)swbackup.log备份日志,备份完成情况会记录到此文件中二、配置备份.bat脚本1.命令窗口标题设置命令窗口名称显示为“配置备份程序”@echo offcolor 0atitle 配置备份程序2.修改日期格式::调整时间格式为:14:00:00set time1=%time:~0,8%::调整日期格式为:2017-09-01set y=%date:~0,4%set m=%date:~5,2%set d=%date:~8,2%::调整日期格式,去除日期前面的0,结果为:2017-9-1(这里只的我的个人需要)if %m% == 01 (set m=1)if %m% == 02 (set m=2)if %m% == 03 (set m=3)if %m% == 04 (set m=4)if %m% == 05 (set m=5)if %m% == 06 (set m=6)if %m% == 07 (set m=7)if %m% == 08 (set m=8)if %m% == 09 (set m=9)if %d% == 01 (set d=1)if %d% == 02 (set d=2)if %d% == 03 (set d=3)if %d% == 04 (set d=4)if %d% == 05 (set d=5)if %d% == 06 (set d=6)if %d% == 07 (set d=7)if %d% == 08 (set d=8)if %d% == 09 (set d=9)set date1=%y%-%m%-%d%2.设置配置备份目录路径配置我这里统一保存在E盘-配置备份-日期-目录下set dir=E:\配置备份\%y%-%m%-%d%3.自动计算需要备份的设备数量,即SWIP.txt文件的行数set "file=E:\FANTAWILD\配置备份脚本\SWIP.txt"for /f "delims=" %%a in (%file%) do set/a rows+=14.命令窗口打印显示以下信息echo.echo ********************************************echo 网络设备配置备份echo ********************************************echo 备份日期:%date1% %time1%echo 设备数量:%rows%echo 备份目录:%dir%echo ********************************************5.启动CRT软件,并执行配置备份.vbs脚本start "" "D:\Program Files\SecureCRT-7.0\App\VanDykeClients\SecureCRT.exe" /SCRIPT E:\FANTAWILD\配置备份脚本\配置备份.vbs >nul6.预计备份时间:: 通过多次测试,预计每台设备备份时间为2秒钟(不同设备收集配置时间可能不一样)总的时间就是2乘设备数量set /a rows2=%rows%*2echo 预计备份时间%rows2% 秒7.进度条,纯属为了界面动态美观(可忽略)::echo 正在备份,请稍候::进度条1set /p= 正在备份,请稍候<nulset /a a=1:aset /a a+=1set /p=.<nul::for %%a in ( ">") do (set /p=%%a<nul &ping -n 2 127.1>nul)ping -n 2 127.1>nulif not %a%==%rows2% goto a8.备份完成后,结束CRT进程taskkill /f /im SecureCRT.exe >nulecho.9.统计配置文件数量,即备份完成后备份目录里的文件数量set n=0for /f "delims=" %%a in ('dir /a-d /b /s "%dir%" ') do (set /a n+=1)10.指定备份完成时时间set time2=%time:~0,8%11.命令窗口显示echo ********************************************echo 备份完成,共%rows% 台设备,已完成%n% 台设备echo 备份完成时间:%date1% %time2%echo ********************************************echo.12.为了方便查看备份记录,将此次的备份情况另外输出到日志文件echo.>>swbackup.logecho.>>swbackup.logecho============================================>>swbackup.log echo 备份开始时间:%date1% %time1%>>swbackup.logecho 备份完成时间:%date1% %time2%>>swbackup.logecho 设备数量:%rows% >>swbackup.logecho 当前备份数量:%n% >>swbackup.logecho 备份目录:%dir%>>swbackup.logecho============================================>>swbackup.log13.BAT配置备份结束pause三、配置备份vbs脚本此脚本是在CRT中使用的,实现CRT自动登录交换机,并收集记录配置信息1.基本配置# $language = "VBScript"# $interface = "1.0"2.从一个文件里面自动读取设备IP地址,用户名,密码,并创建日志文件,为记录配置信息做准备Sub Main'打开保存设备管理地址以及密码的文件Const ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,str1,paramsSet fso = CreateObject("Scripting.FileSystemObject")Set file1 = fso.OpenTextFile("E: \配置备份脚本\SWIP.txt",Forreading, False)crt.Screen.Synchronous = TruedtmNowDate = Now()dtmNowDate = Year(dtmNowDate) & "-" & Month(dtmNowDate) & "-" & Day(dtmNowDate)DO While file1.AtEndOfStream <> True'读出每行line = file1.ReadLine'分离每行的参数设备名称、IP地址、用户名、密码,然后创建设备名称为名的txt文本,作为配置记录文件params = Split(line)crt.session.LogFileName = "E:\配置备份\" & dtmNowDate & "\"& params(1) &".txt"call crt.session.Log(False)call crt.session.Log(True) '开启日志crt.Screen.Synchronous = True '开启屏幕同步2.判断设备类型H3C,并开始备份配置(这里主要进行三种设备备份:H3C、Juniper、Cisco)'首先Telnet到这个设备上,params(2)为文件中提取的设备IPcrt.Session.Connect "/TELNET " & params(2)'H3C设备的配置备份If params(0) = "h3c" Then'自动输入telnet用户名crt.Screen.WaitForString "Username:"crt.Screen.Send params(3) & vbcr'自动输入telnet密码crt.Screen.WaitForString "Password:"crt.Screen.Send params(4) & vbcr'收集设备运行信息str1 = "display environment"crt.Screen.Send str1 & vbcr'收集版本信息str2 = "display version"crt.Screen.Send str2 & vbcr'备份h3c配置str3 = "dis cu"crt.Screen.Send str3 & vbcrcrt.Screen.WaitForString "More"crt.Screen.Send " " & vbcr'备份完成后退出crt.Screen.waitForString "return"crt.Session.Disconnect()end if2.判断设备类型Juniper,并开始备份配置If params(0) = "juniper" Then'自动输入telnet密码crt.Screen.WaitForString "login:"crt.Screen.Send params(3) & vbcr'自动输入telnet密码crt.Screen.WaitForString "Password:"crt.Screen.Send params(4) & vbcr'收集设备运行信息str1 = "show chassis environment"crt.Screen.Send str1 & vbcr'收集版本信息str2 = "show version"crt.Screen.Send str2 & vbcr'备份juniper配置str3 = "show configuration | display set"crt.Screen.Send str3 & vbcrcrt.Screen.WaitForString "more"crt.Screen.Send "" & vbcr'备份完成后退出crt.Screen.waitForString ">"crt.Session.Disconnect()end if3.判断设备类型Cisco,并开始备份配置'Cisco设备的配置备份If params(0) = "cisco" Then'输入telnet用户名crt.Screen.WaitForString "Username:"crt.Screen.Send params(3) & vbcr'输入telnet密码crt.Screen.WaitForString "Password:"crt.Screen.Send params(4) & vbcr'备份juniper配置str1 = "show run"crt.Screen.Send str1 & vbcr'crt.Screen.WaitForString "more"crt.Screen.Send "" & vbcr'备份完成后退出crt.Screen.waitForString "end"crt.Session.Disconnect()end ifloopCall crt.Session.Log(False)crt.Screen.Synchronous = FalseEnd Sub四、设备IP列表SWIP.txt里面有要备份配置的设备类型、名称、IP、用户名、密码,如下示例类型名称IP 用户名密码juniper 9F-01 10.10.1.1 admin admin123h3c 9F-02 10.10.1.2 admin admin123五、swbackup.log备份日志文件从“配置备份.bat ”里产生的备份记录会重定向输出到此文件中结果如下:============================================备份开始时间:2017-9-01 01:14:20备份完成时间:2017-9-01 01:14:28设备数量:40当前备份数量:40备份目录:E:\配置备份\2017-9-01============================================六、“配置备份.bat ”执行结果展示。
【免费阅读】交换机自动登录、批量备份、批量配置以及自动透传vlan的实现
交换机自动登录、批量备份、批量配置以及自动透传vlan的实现2作者:鲍继川时间:2013.5.1332目录1前言2.交换机自动登录实现3..交换机自动批量备份实现4..交换机批量配置实现5.交换机自动透传vlan实现5.1 对交换机编号,记录接口信息25.2 生成交换机接口信息矩阵5.3 实现深度优先算法和测试路径5.4 生成ie输入界面5.5 实现两个交换机之间透传vlan6.总结7.附录代码备注:文档所有的代码针对华为系列交换机,可能有些交换机3526等等,在执行保存时会出错,所有程序如果看懂能自己改就非常好了。
这需要学习javascript编程和securecrt编程,我是边写边学的。
我以前所有的代码全部用vbscript写的,后来考虑到vbscript循环控制不好,全部用javascript改写了一遍。
后来我自己开专线业务,比如F400自动开局,9806H开局等等,全部用可视化的ie界面开局。
非常自动化,也非常好用,用自己写的东西开局,非常流畅。
联系电话:1899667799 邮箱:****************321前言自从进入事数据方面工作以来,不断的感觉到了对交换机和其他设备数据操作的繁琐和重复。
很多业务的开通都是重复性的操作,只是几个参数的不同。
为了节省时间和提高效率,通过不断的摸索和学习,查看各种资料,结合编程和算法,慢慢研究出对设备的自2动批量控制和自动开通业务。
比如,从交换机A透传vlan到交换机B,我们不再需要考虑中间的交换机走向,而让程序自动寻路去透传vlan。
下面就交换机为例详细阐述如何实现对交换机的自动登录,批量配置,批量备份,以及自动透传vlan。
322.交换机自动登录实现假设交换机的拓扑图如下:在图中我们一共可以看到9个交换机分别为A 、B 、C 、D 、E 、F 、G 、H 、I ,然后对交换机的信息保存为以下txt 格式文件,每行分别依次为交换机的登录ip 、用户名、密码、二级密码,中间用空格隔开。
基于SecureCRT的网络设备配置批量备份实践
操作 的网络设 备相关 信息。 由于不同厂商的设
备, 配置语言略有 区别 , 配置文件除了记录设备I P 地址
c a s e’ ’ CI S CO”
外, 还须记录设备品牌 , 最后通过脚本遍历 配置文件,
逐—对每台设备进行操作。 ‘ 配置文件格式 : 设备品牌+ 设备I P
‘ CI S CO x x . X X . x x . x x ‘ H3 C X X . X X . X X . x x
C I S C O ( i p )
c a s e e l s e
‘ 调用对思科设备操作过程
Ms g B o x” 设备类 型未知: ” &p a r a m s ( O 1 &” ! ”
e n d s e l e c t l o o p
‘ 打开保存设备管理地址以及密码的文件
‘ l o g
—
8
Di m f s o , il f e l , l i n e , s t r l , p a r a ms
d i r 为日志保存路径
—
S e t f s o :C r e a t e O b j e c t ( ” S c r i p t i n g . F i l e S y s t e m O b j e e t ” 、
—
2 01 4 年 ・ 第5 期
栏 目编辑 :罗锦莉 E - ma i l : l u o l 0 2 5 0 0 @1 6 3 c o m
c r t . S c r e e n . S e n d v b c r
c r t . S c r e e n . Wa i t F o r S t r i n g’ ’ b y t e s / s e c ) ”
SecureCRT脚本实现自动备份华为交换机配置
下面这个脚本能批量对交换机做配置备份工作,在使用时请根据情况更改脚本中交换机的登录密码如下位置crt.Screen.WaitForString ">"crt.Screen.Send "su" & VbCrcrt.Screen.WaitForString "Password:"crt.Screen.Send "huawei" & VbCrcrt.Screen.WaitForString ">"其中,name.txt文件就是一行一个交换机的IP地址,如:172.16.1.1172.16.1.2------------------------------------------------------------请将下列脚本保存为*.VBS文件-----# $language = "VBScript"# $interface = "1.0"' This script shows how to read in a file, and it demonstrates how to' perform some preprocessing on data (splitting the file data into' separate strings) before sending it to a server.' Constant used by OpenTextFile()Const ForReading = 1Sub main' Open a file, read it in & send it one line at a timeDim fso, fSet fso = CreateObject("Scripting.FileSystemObject")Set f = fso.OpenTextFile("d:\name.txt", ForReading, 0)Dim line, paramsDo While f.AtEndOfStream True' Read each line of the printers file.'line = f.Readline' Split the line up. Each line should contain 3 space-separated parametersparams = Split( line )' params(0) holds parameter 1, params(0) & " "& vbCR'wait for switch promptcrt.Screen.WaitForString "Username:"crt.Screen.Send "admin" & VbCr' Wait for a tring that looks like "password:" or "Password:"crt.Screen.WaitForString "Password:"' Send your password followed by a carriage returncrt.Screen.Send "admin" & VbCrcrt.Screen.WaitForString ">"crt.Screen.Send "su" & VbCrcrt.Screen.WaitForString "Password:"crt.Screen.Send "huawei" & VbCrcrt.Screen.WaitForString ">"crt.Screen.Send "tftp172.16.1.250 put vrpcfg.cfg " & params(0) & ".txt " & VbCrcrt.Screen.Send "quit" & VbCr'leave out switch,stay in linuxcrt.Screen.WaitForString "#", 3' Cause a 3-second pause between sends by waiting for something "unexpected"' with a timeout value.LoopEnd Sub。
SecureCRT批量备份不同型号交换机说明及脚本配置
shebei.txt为设备IP地址等信息shebei.txt格式如下设备名称登录帐号登录密码超级密码IP 端口Telnet 设备型号XXX交换机123 **** **** 192.168.1.1 23 Telnet 3300在做CRT脚本的时候,不同的设备获取配置文件的命令稍微有些不通,所以这个脚本做了设备型号的判断。
(这个案例是以华为的设备为例,如果网络中存在思科或者中兴等设备可以对脚本稍作修改即可)# $language = "VBScript"# $interface = "1.0"'==========================================================================' NAME: Backup Of IP-MAN' AUTHOR: LiuBin'==========================================================================Sub MainConst DEVICE_FILE_PATH = "shebei.txt"Dim fsoSet fso = CreateObject("Scripting.FileSystemObject")Dim filSet fil = fso.OpenTextFile(DEVICE_FILE_PATH)Dim ipDim nameDim protocolDim lineDim cnxnStringWhile Not fil.AtEndOfStreamline = fil.ReadLinename = Split(line, " ")(0)username =Split(line, " ")(1)password =Split(line, " ")(2)super =Split(line, " ")(3)ip = Split(line, " ")(4)port = Split(line, " ")(5)protocol = Split(line, " ")(6)devicetype = Split(line, " ")(7)Select Case protocolCase "Telnet"cnxnString = "/TELNET " & ip & " "& portEnd Select'Logcrt.Session.LogFileName = "E:\\easy\\备份\\"+name+" "+ip+".log"‘备份的目标地址crt.Session.Log True' Connectcrt.Screen.Synchronous = TrueOn Error Resume Nextcrt.session.Connect cnxnStringIf Err.Number<>0 Thencrt.Session.Log "Connect failed"crt.Screen.Synchronous = Falsecrt.Session.Log Falseelseif devicetype="9306" or devicetype="9303" or devicetype="8505" or devicetype="3928" or devicetype="3528" or devicetype="2300" then‘判断设备型号crt.Screen.WaitForString "Username:"crt.Screen.Send username & vbCrcrt.Screen.WaitForString "Password:"crt.Screen.Send password & vbCrcrt.Screen.WaitForString ">"crt.Screen.Send "super" & vbCrcrt.Screen.WaitForString " Password:"crt.Screen.Send super & vbCrcrt.Screen.WaitForString ">"crt.Screen.Send "dis cu" & chr(13)crt.Screen.Send " "‘这个是发送空格,就是交换机打dis cu的时候需要打空格或者回车才会显示另外一页crt.Screen.Send chr(13)crt.Screen.WaitForString ">"crt.Screen.Send "quit" & chr(13)crt.Screen.Synchronous = Falsecrt.Session.Disconnectcrt.Session.Log Falseelseif devicetype="3300" thencrt.Screen.WaitForString "Username:"crt.Screen.Send username & vbCrcrt.Screen.WaitForString "Password:"crt.Screen.Send password & vbCrcrt.Screen.WaitForString ">"crt.Screen.Send "dis cu" & chr(13)crt.Screen.Send " "crt.Screen.Send chr(13)crt.Screen.WaitForString ">"crt.Screen.Send "quit" & chr(13)crt.Session.Log falsecrt.Session.Disconnect()elseif devicetype="ME60" thencrt.Screen.WaitForString "Password:"crt.Screen.Send password & vbCrcrt.Screen.WaitForString ">"crt.Screen.Send "super" & vbCrcrt.Screen.WaitForString " Password:"crt.Screen.Send super & vbCrcrt.Screen.WaitForString ">"crt.Screen.Send "dis cu" & chr(13)crt.Screen.Send " "crt.Screen.Send chr(13)crt.Screen.WaitForString ">"crt.Screen.Send "quit" & chr(13)crt.Screen.Synchronous = Falseend ifEnd IfWendfil.CloseEnd Sub。
网络设备批量备份
网络设备批量备份因为日常维护交换机上千台,考虑到定期需要配置和备份交换机。
自动配置交换机的的方式大概这么几种:1、使用crt调取vbs脚本语言;2、ansible自动化平台;3、expect工具;4、新版本的交换机可配置定期备份命令。
第一种方式使用过,比较简单,缺点crt软件收费;ansible平台需要一定时间需要配置;考虑管理的交换机较为老旧,本次采用expect工具。
前期准备1)centos7操作系统2) yum install -y expect #安装expect3)yum install -y openssh-server #安装ssh客户端配置思路1)ip.txt 存放配置交换机的IP地址、用户名、密码、enable密码和描述;2)shell 循环调取需要配置交换机的ip,并调取expect脚本;3)expect 登录交换机执行配置命令及日志记录。
1、expect脚本vim sw_backup.exp#!/usr/bin/expectset timeout 3 #超时时间set ipadd [lindex $argv 0]set user [lindex $argv 1]set passwd [lindex $argv 2]set enpasswd [lindex $argv 3]set description [lindex $argv 4]log_file $description.[clock format [clock seconds] -format "%Y-%m-%d"].l og #收集日志spawn ssh $user@$ipadd #ssh远程expect {"(yes/no)" { send "yes\r"; exp_continue } #第一次登录交换机需要确认"*assword:" { send "$passwd\r" }}expect "*>" { send "enable\r" } #抓取超过屏幕长度的命令输出expect "**assword*" { send "$enpasswd\r" } #抓取超过屏幕长度的命令输出expect "*#" { send "terminal length 0\r" } #抓取超过屏幕长度的命令输出expect "*#" { send "show version\r" }expect "*#" { send "show run\r" }expect "*#" { send "show interface status \r " }expect "*#" { send "show ip route \r " }expect eofexit2、shell脚本vim backup.sh#!/bin/bashcat ip.txt | while read line #使用while命令循环登录主机进行配置doipadd=`echo ${line}|awk '{print $1}'` #ip地址user=`echo ${line}|awk '{print $2}'`passwd=`echo ${line}|awk '{print $3}'`enpasswd=`echo ${line}|awk '{print $4}'`description=`echo ${line}|awk '{print $5}'`./sw_backup.exp $ipadd $user $passwd $enpasswd $description #调用ex pect脚本done注:Linux Shell中有三种引号,分别为双引号(" ")、单引号(' ')以及反引号(` `)。
利用secureCRT脚本对华为交换机进行批量备份
利用secureCRT脚本对华为交换机进行批量备份软件:secureCRT 7.0 作者:鲍继川邮箱:bc5367@原理价绍:利用SecrureCRT的脚本对交换机进行批量登录后记录回话即可完成备份。
首先有个交换机所有的ip,用户名,密码。
Su密码文件,用来读取。
比如e:\\easy\\allswip.txt 里面格式如下:192.168.1.10 username1 password1 supassword1192.168.1.11 username2 password2 supassword2中间是空格,以方便读取。
先telent交换机ip登录,依次自动输入username password等等。
然后dis cu 即可完成备份了。
运行效果图如下:选择脚本后执行以下代码:脚本代码如下:# $language = "JScript"# $interface = "1.0"var ForReading = 1, ForWriting = 2;var objTab= crt.GetScriptTab();crt.Screen.Synchronous = true;function main(){var fso, f,f2,tex;fso = new ActiveXObject("Scripting.FileSystemObject");f = fso.OpenTextFile("e:\\easy\\allswip.txt", 1);//读取交换机ip文件e:\\easy\\allswip.txt//var tex=f2.ReadALL();while ( f.AtEndOfStream != true ){ var str,t;str=f.Readline();params=str.split(" ");//依次登录后dis duobjTab.Session.Connect("/telnet " + params[0]);objTab.Screen.WaitForString("Username:");objTab.Screen.Send(params[1]+"\r");objTab.Screen.WaitForString( "Password:");objTab.Screen.Send(params[2] + "\r");objTab.Screen.WaitForString( ">");objTab.Screen.Send ("super 3" + "\r");objTab.Screen.WaitForString( " Password:");objTab.Screen.Send (params[3] + "\r");objTab.Screen.WaitForString( ">");objTab.Screen.Send ("sys" + "\r");objTab.Screen.WaitForString("]");//记录日志,即备份objTab.Session.LogFileName = "E:\\easy\\备份\\"+params[0]+" "+params[1]+".log"; objTab.Session.Log(true);objTab.Screen.Send("dis cu\r");//这里是发送空格哦就是那个什么more 需要的objTab.Screen.Send(" ");objTab.Screen.Send(" ");//objTab.Screen.WaitForString("@",15)objTab.Screen.WaitForString("]");//objTab.Session.Log(false);objTab.Screen.Send("quit\r");//objTab.Screen.WaitForString("]");objTab.Session.Log(false);//objTab.Screen.Send("quit\r");//objTab.Screen.WaitForString(">");//objTab.Screen.Send("save\r");//objTab.Screen.Send("y\r");objTab.Screen.WaitForString("@",2)objTab.Session.Disconnect();}}完成后发现e盘下面有E:\easy\备份这个文件夹里面都是备份的内容了。
如何使用SecureCRT导出华为,思科设备配置
如何使用Secure CRT导出华为,思科设备配置
推荐文章
电脑版全民k歌如何配置音频设备热度:如何查看电脑硬件配置和查看设备管理器热度:RHEL7中防火墙的配置和使用方法是什么热度: CentOS7Docker防火墙的简单配置教程热度: Cisco网络防火墙配置方法是什么用哪些命令热度:
华为,思科的网络设备配置,是需要经常备份,以防特殊情况丢失。
下面是店铺收集整理的如何使用Secure CRT 导出华为,思科设备配置,希望对大家有帮助~~
使用Secure CRT 导出华为,思科设备配置的方法
工具/原料
Secure CRT
方法/步骤
为了方便举例,使用一台装有 LINUX 的机器说明
连接上设备进入就要看设备配置的地方,可以先输入命令,但是不要按回车
点击文件--会话日志
不要选择原始回话日志,这样会把你输入的空格和显示出来的类似“press any key to continu e" 或者 --More-- 也放进去,这样就不美观,而且段落不连贯看起也费劲
选择保存日志的名字和路径,通常日志的扩展名都是 .log, 这个暂时不要改,你可以之后改成TXT,或是其它文档格式。
点击保存
现在开始输入查看配置的命令,华为,H3C简写为dis cu ,思科为 sh run
因为有的配置很长,所以要不停的敲击空格键,直至出现提示符完毕
现在就不要输其它命令了,现在取消会话日志选项
到刚才保存路径查看下刚才保存的配置,在Secure CRT下会分
段的地方,不粗现分段了,也没有--MORE-- 提示,和按了空格的提示
如何使用Secure CRT 导出华为,思科设备配置。
SecureCRT登录对多台H3C设备进行配置自动备份
版权说明Copyright ©2006-2007 杭州华三通信技术有限公司及其许可者 版权所有,保留一切权利。
未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书内容的部分或全部,并不得以任何形式传播。
H3C 、、Aolynk 、、H 3Care 、、TOP G 、、IRF 、NetPilot 、Neocean 、NeoVTL 、SecPro 、SecPoint 、SecEngine 、SecPath 、Comware 、Secware 、Storware 、NQA 、VVG 、V 2G 、V n G 、PSPT 、XGbus 、N-Bus 、TiGem 、InnoVision 、HUASAN 、华三均为杭州华三通信技术有限公司的商标。
对于本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
保密承诺本次服务中获取客户的保密信息仅用于H3C 公司向客户交付涉及H3C 解决方案与产品服务(网络规划、设计、实施、运维、优化)。
未经客户同意,H3C 公司承诺对保密信息不用于其他与客户服务无关的用途,不向任何与客户服务无关的第三方披露。
Any Confidential Information acquired in service will be used by H3C for the solely purpose of providing solutions and products service (networkarchitecture, design, execute, running and maintenance, and optimization). Without the consent of customer, H3C shall not use the ConfidentialInformation in any way that is not related to Customer’s service, or disclose to any third party that is not relevant to Customer’s service.杭州华三通信技术有限公司Un Re gi st er ed使用SecureCRT 登录对多台H3C 设备进行配置自动备份版本建议:SecureCRT 版本用6.2以上版本 使用范围:该文档适用于H3C 网络设备一、 对于采用用户名-密码或用户名-密码-超级密码的情形。
华为交换机配置备份与还原
华为交换机配置备份与还原
备份配置:
1、直接进⼊主题交换机通过console线连接,使⽤xshell软件,设置serial(查看相关⽂章,度娘上有)
2、启动机器进⼊配置!
3、更改名称、进⼊aaa模式、打开ftp服务器ftp-server enable,设置访问⽤户名、密码,更改模式等保存。
4、不好意思上⾯的有点错误补充⼀下,
5、使⽤windows终端命令(看好⽬录,这是保存配置的位置,要不到时候找不到)
进⼊之后执⾏get flash:/config.cfg backup.cfg 前⾯的是⽂件位置后⾯的是备份的⽂件名字,get为下载命令。
恢复配置:
1、前⾯都是相同的不做论述
2、只是后⾯的get更改为put后⾯跟着备份的配置⽂件,使⽤dir查看是否上传成功。
3、然后应⽤配置重启(没有截图引⽤⼀下别的⼤神的⽂件)。
使用 SecureCRT 批处理备份锐捷交换机配置脚本
使用SecureCRT 批处理备份锐捷交换机配置脚本已测试了SecureCRT 脚本批量执行备份锐捷交换机配置文件的功能。
此脚本可以根据你的需要修改,改成其他功能,希望有需要的同学扩展思路。
使用SecureCRT 批处理备份所有交换机配置的脚本,使用方法:1、在 C 盘新建一个文件夹,命名为SW_bak,打开文件夹,新建一个文本文件swlist.txt,编辑并保存这个文本文件.每行输入4 列分别是:交换机IP 用户名密码enable密码;例如:192.168.11.1 root password password192.168.12.1 root password password(有多少交换机就写多少行)2、新建一个文本文件,将下面的代码(两条分割线内的内容,不包括分割线)复制到文本文件内,保存关闭。
将文本文件重命名为:备份交换机配置批处理.vbs# $language ="VBScript"# $interface = "1.0"'本脚本示范:从一个文件里面自动读取设备IP 地址,密码等,自动将设备配置备份Sub Main'打开保存设备管理地址以及密码的文件Const ForReading = 1, ForWriting = 2, ForAppending = 8Dim fso,file1,line,str1,paramsSet fso = CreateObject("Scripting.FileSystemObject")Set file1 = fso.OpenTextFile("c:\ SW_bak\swlist.txt ",Forreading,False)crt.Screen.Synchronous = TrueDO While file1.AtEndOfStream <> True'读出每行line = file1.ReadLine'分离每行的参数交换机IP 用户名密码enable密码;params = Split (line)crt.session.LogFileName = " c:\ SW_bak\log\20120713\" & params(0) & ".txt"crt.session.Log(true)'Telnet 到这个设备上crt.Session.Connect "/TELNET " & params(0)'输入Username 密码crt.Screen.WaitForString " Username:"crt.Screen.Send params(1) & vbcr'输入telnet 密码crt.Screen.WaitForString "Password:"crt.Screen.Send params(2) & vbcr'进特权模式crt.Screen.Send "enable" & vbcrcrt.Screen.WaitForString "Password:"crt.Screen.Send params(3) & vbcrcrt.Screen.waitForString "#"'备份目前runing-config 配置str1 = "show run"crt.Screen.Send str1 & vbcrcrt.Screen.WaitForString " --More-- "crt.Screen.Send " & vbcr " '备份完成后退出crt.Screen.waitForString "!" & vbcrlf & "end"crt.Session.Disconnect loopcrt.Screen.Synchronous = False End Sub复制备份交换机配置批处理.vbs 到c:\ SW_bak\ 文件夹内;3、在c:\ SW_bak\ 文件夹中新建一个log 文件夹,用于保存配置文件。
SECURECRT软件实现华为交换机自动备份
无需脚本通过SecureCRT软件实现华为交换机全备份
首先下载中文版的SecureCRT 5.1 ,中文版更方便操作,没有中文版的也没关系,我会图示例出。
打开SecureCRT 5.1软件,新建一个交换机连接(新建应该会的吧,要是用中文版的很简单的)-----点击这个新建的连接-再点下会话选项如图1-1
1-1
出现会话选项—连接---点击登录脚本,把自动登录勾打上,期望其实解释是指当登入界面出现什么时,
所以期望后面的框,这里大家可以根据自身交换机来填,发送:这个后面填命令,例:期望:password: 发送:这里输入密码(当出现password: 时输入对应的密码),如图
1-2
如果觉得要输入的命令太少了,这也没关系,不过要用脚本了,把登录脚本的勾打上,选择脚本文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用secureCRT脚本对华为交换机进行批量备份
软件:secureCRT 7.0 作者:鲍继川邮箱:****************
原理价绍:利用SecrureCRT的脚本对交换机进行批量登录后记录回话即可完成备份。
首先有个交换机所有的ip,用户名,密码。
Su密码文件,用来读取。
比如e:\\easy\\allswip.txt 里面格式如下:
192.168.1.10 username1 password1 supassword1
192.168.1.11 username2 password2 supassword2
中间是空格,以方便读取。
先telent交换机ip登录,依次自动输入username password等等。
然后dis cu 即可完成备份了。
运行效果图如下:
选择脚本后执行以下代码:
脚本代码如下:
# $language = "JScript"
# $interface = "1.0"
var ForReading = 1, ForWriting = 2;
var objTab= crt.GetScriptTab();
crt.Screen.Synchronous = true;
function main()
{
var fso, f,f2,tex;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile("e:\\easy\\allswip.txt", 1);
//读取交换机ip文件e:\\easy\\allswip.txt
//var tex=f2.ReadALL();
while ( f.AtEndOfStream != true )
{ var str,t;
str=f.Readline();
params=str.split(" ");
//依次登录后dis du
objTab.Session.Connect("/telnet " + params[0]);
objTab.Screen.WaitForString("Username:");
objTab.Screen.Send(params[1]+"\r");
objTab.Screen.WaitForString( "Password:");
objTab.Screen.Send(params[2] + "\r");
objTab.Screen.WaitForString( ">");
objTab.Screen.Send ("super 3" + "\r");
objTab.Screen.WaitForString( " Password:");
objTab.Screen.Send (params[3] + "\r");
objTab.Screen.WaitForString( ">");
objTab.Screen.Send ("sys" + "\r");
objTab.Screen.WaitForString("]");
//记录日志,即备份
objTab.Session.LogFileName = "E:\\easy\\备份\\"+params[0]+" "+params[1]+".log"; objTab.Session.Log(true);
objTab.Screen.Send("dis cu\r");
//这里是发送空格哦就是那个什么more 需要的
objTab.Screen.Send(" ");
objTab.Screen.Send(" ");
//objTab.Screen.WaitForString("@",15)
objTab.Screen.WaitForString("]");
//objTab.Session.Log(false);
objTab.Screen.Send("quit\r");
//objTab.Screen.WaitForString("]");
objTab.Session.Log(false);
//objTab.Screen.Send("quit\r");
//objTab.Screen.WaitForString(">");
//objTab.Screen.Send("save\r");
//objTab.Screen.Send("y\r");
objTab.Screen.WaitForString("@",2)
objTab.Session.Disconnect();
}
}
完成后发现e盘下面有E:\easy\备份这个文件夹里面都是备份的内容了。
不再累述。
谢谢!。