使用SecureCRT批处理备份所有交换机路由器配置脚本
利用SecureCRT的脚本功能自动定时执行任务

利⽤SecureCRT的脚本功能⾃动定时执⾏任务SecureCRT是⼀款仿真终端⼯具,常⽤来telnet到路由器或交换机上,它还⽀持VBscript和Jscript脚本。
下边讲述⼀种在WINDOWS下利⽤SecureCRT的脚本功能⾃动定时执⾏⼀些登录到路由器或交换机来执⾏的任务:1.写好要SecureCRT执⾏的脚本,可登录执⾏任何操作。
如se800.vbs,保存在d:\se800下。
内容附在最后。
2.写好启动SecureCRT执⾏脚本的批处理⽂件。
如add_cmd.bat,保存在d:\se800下内容如下:d:cd \se800"C:\Program Files\SecureCRT\SecureCRT.EXE" /T /SCRIPT se800.vbs3.在WINDOWS的控制⾯板的任务计划⾥增加任务,如在23:30执⾏add_cmd.bat,⼤功告成。
====================se800.vbs的内容:====================# $language = "VBScript"# $interface = "1.0"Function my_Date()dim y,m,d,h,mmDim nowDate,mytimenowDate=Now()mytime=time()y=Year(nowDate)m=Month(nowDate)d=Day(nowDate)h=hour(mytime)mm=minute(mytime)my_Date=y & "-" & m & "-" & dEnd FunctionSub mainDim fso, fHost,fCMDbsn,fCMDscs, strLineHost,strLineCommand,strLogfile,strArrayConst ForReading = 1Const Hostip=0Const user=1Const password=2Const superpwd=3Const hostname=0Const NodeType=4Const my_user="jhxsy"Const my_pass="2381654"Const ScriptPath="D:\se800\"Const LogPath="D:\se800\log\"Set fso = CreateObject("Scripting.FileSystemObject")Set fHost = fso.OpenTextFile(ScriptPath& "ip.txt", ForReading, 0) 'Do While fHost.AtEndOfStream <> Truecrt.Screen.Synchronous = TruestrLineHost = Trim(fHost.Readline ) '获取fhost⽂件中的⼀⾏,如192.168.0.9 null password en_pwd BASstrArray=split(strLineHost,vbtab,-1) '按tab将获取的⾏分割成⼀个数组strArray[0]=192.168.0.9 .... strArray[4]=BAS strLogfile=LogPath & strArray(hostname)& "-" & my_date() &".txt"crt.Session.LogFileName = strLogfilecrt.Session.Log Truecrt.Session.Connect "/telnet" & " " & strArray(Hostip) & vbcr 'telnet strArray[0] vbcr=回车crt.screen.waitforstring "login:"crt.screen.send my_user & vbcr 'strArray(user) & vbcrcrt.screen.waitforstring "assword:"crt.screen.send my_pass & vbcrIf strArray(NodeType)="BAS" ThenSet fCMDbsn=fso.OpenT extFile(ScriptPath& "cmd.txt", ForReading, 0) '如果是bas 打开cmd.txt⽂件并按forreading⽅式读取Do While fCMDbsn.AtEndOfStream <> True '如果没结束strLineCommand=Trim(fCMDbsn.Readline)'获取读取的⾏Do While strLineCommand="wait"'?不解crt.sleep 5000strLineCommand=Trim(fCMDbsn.Readline)Loopcrt.Screen.WaitforString "#"'等待出现超级权限的提⽰crt.Screen.Send strLineCommand & vbcr'发送命令Call CheckEnd()LoopSet fCMDbsn=nothingElseSet fCMDscs=fso.OpenT extFile(ScriptPath& "cmdscs.txt", ForReading, 0)Do While fCMDscs.AtEndOfStream <> TruestrLineCommand=Trim(fCMDscs.Readline)crt.Screen.WaitforString ">"crt.Screen.Send strLineCommand & vbcrcrt.Screen.Send "y" & vbcrLoopSet fCMDscs=nothingEnd If'Logout nodecrt.screen.waitforstring "#"'crt.Session.Log Falsecrt.screen.send " exit" & vbcr'Stop log file action'crt.screen.waitforstring "$"'crt.screen.send vbcrcrt.Session.Log False'crt.screen.send vbcrcrt.Session.Disconnectcrt.Screen.Synchronous = FalseLoopSet fso=nothingcrt.quitEnd SubSub CheckEnd()Do Until crt.Screen.WaitForString ("#" , 1)=Truecrt.Screen.Send " "Loopcrt.Screen.Send vbcrExit SubEnd Sub经常遇到需要对⼀批⽹络设备进⾏同⼀种操作的情况,⽐如备份,或者查找arp表等,⽤telnet⼀个个登上去看确实⽐较⿇烦,于是想到是否有⾃动化的办法来做,编程序太⿇烦改起来不⽅便,每天都在⽤securecrt这个软件做telnet客户端,有⼀次⽆意间在软件⽬录下发现⼀些脚本,原来securecrt也可以⽤脚本,于是有了下⾯这个脚本,⽤来⾃动登录到设备上去执⾏某个操作,并把屏幕内容记录到⽇志⽂件中供进⼀步处理。
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在网络设备配置管理中的实践应用

SecureCRT在网络设备配置管理中的实践应用作者:赵振涛来源:《科学与财富》2018年第30期摘要:本文论述了利用SecureCRT访问网络设备,自动保存访问记录,通过编写执行脚本实现对批量网络交换机配置的自动备份。
关键词:SecureCRT 脚本日志配置备份批处理SecureCRT是一款终端仿真软件,能够在Windows系统中登录UNIX、Linux的服务器主机以及网络设备,支持Telnet、SSH、Serial等多种连接协议,支持VBScript、Python脚本语言。
下面介绍在SecureCRT(ver 8.5)下创建连接会话、日志自动保存、脚本录制、批量自动备份网络设备配置。
1.创建连接会话File->Connect->New Session->SecureCRT Protocol选择Telnet->Host name输入设备IP地址-> SecureFX Protocol选择None->Session Name 输入会话名称->完成,方便以后登录。
2.日志自动保存Options->Global Options->General->Default Session->Edit Default Settings,将log file name 修改为%H_%S.log.log,自动记录每个操作,以主机名加会话名保存,方便查询。
3.脚本录制登录设备->Script->Start Recording Script->执行操作->(Script->Stop Recording Script),默认保存文件以.vbs结尾,其它网络设备执行同样操作命令时可通过Script->Run调用所录脚本一键完成所有操作。
4.批量自动备份网络设备配置首先确定备份哪些设备,其次建立TFTP服务器以接收上传的配置文件,最后需要编写调用备份脚本。
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批量备份路由器设置

在日常工作中,可能面临几百台网络设备的管理,如何高速可靠的对这些设备进行管理备份下面以华为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文件-〉等待运行结束查看结果。
傻瓜操作SecureCRT软件实现思科、华为交换机自动备份

傻瓜操作SecureCRT软件实现思科、华为交换机自动备份无需脚本通过SecureCRT软件实现思科、华为交换机全备份首先下载中文版的SecureCRT5."1,中文版更方便操作,没有中文版的也没关系,我会图示例出。
打开SecureCRT5."1软件,新建一个交换机连接(新建应该会的吧,要是用中文版的很简单的)-----点击这个新建的连接-再点下会话选项如图1-1 1-1出现会话选项—连接---点击登录脚本,把自动登录勾打上,期望其实解释是指当登入界面出现什么时,所以期望后面的框,这里大家可以根据自身交换机来填,发送:这个后面填命令,例:期望:password:发送:这里输入密码(当出现password:时输入对应的密码),如图1-2如果觉得要输入的命令太少了,这也没关系,不过要用脚本了,把登录脚本的勾打上,选择脚本文件。
脚本文件:# $language = "VBScript"# $interface = "1.0"Sub Maincrt.Screen.WaitForString "AA"crt.sleep 2000crt.Screen.Send "BB" & VbCrcrt.sleep 2000crt.Screen.Send "CC" & VbCrEnd Sub将以上脚本文件保存在TXT记事本里,保存vbs格式。
注:脚本中AA需根据实际情况输入命令,crt.Screen.WaitForString 这段是指当出现什么命令时BB和CC根据实际情况输入自已的命令1-2接下来就是选择保存的日志--------点击日志文件------取个交换机名保存即可,在连接上启动记录这里要打个勾。
如图1-31-3OK,这样就可以了,以后双击交换机连接,自动运行命令,里面的内容自动保存,不管是CISCO和华为交换机都可以通过这个方法自动备份,傻瓜操作,无需脚本。
securecrt使用教程、SecureCRT配置详细图文教程

securecrt使用教程、SecureCRT配置详细图文教程Secure CRT是一款支持SSH2、SSH1、Telnet、Telnet/SSH、Relogin、Serial、TAPI、RAW 等协议的终端仿真程序,最吸引我的是,SecureCRT 支持标签化SSH 对话,从而可方便地管理多个SSH 连接,设置项也极为丰富。
简单的说是Windows下登录UNIX、Linux服务器主机的软件。
SecureCRT支持SSH,同时支持Telnet和rlogin协议。
SecureCRT是一款用于连接运行包括Windows、UNIX、VMS的理想工具。
通过使用内含的VCP命令行程序可以进行加密文件的传输。
有流行CRT Telnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100、VT102、VT220、ANSI竞争,能从命令行中运行或从浏览器中运行,其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA鉴别。
1、SecureCRT下载2、SecureCRT 配置颜色直接修改全局选项,以免每加个服务器都要重新设置一次:全局设置:键盘方案的选择:终端——》仿真终端选择“Linux”,勾选“ANSI颜色” 和“使用颜色方案”,终端颜色配置请见下面后续...字体的配置:终端——》外观注意颜色方案选“白/ 黑”,设置字体大小:字体(F)如果出现中文乱码,修改上面的“字符编码(H)“,一般为”UTF-8“注意下面的字符集一定要选择“中文GB2312 ”:(中文选用,英文不必)配置完后,登录终端默认颜色如下:目录颜色与底色(黑色)非常相近,不易看清终端全局颜色设置:<Options ——》Global Options ——》Terminal ——》Appearance ——》ANSI Color 设置"Bold Colors" 蓝色的颜色为自己喜欢的清晰颜色,如下图:配出来的效果:注:shell 脚本中的颜色,也会由深蓝色变为上面的淡蓝色,如下图:SecureCRT连接后如果稍长时间不用就会掉线,往往会造成工作状态的丢失。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用SecureCRT批处理备份所有交换机路由器配置脚本
测试了SecureCRT脚本批量执行备份cisco交换机或者路由器配置文件的功能。
测试通过(成功批量备份28台交换机,时间小于1分钟)。
此脚本可以根据你的需要修改,改成其他功能,希望有需要的同学扩展思路。
使用SecureCRT对所有交换机路由器批处理执行WR命令的脚本
使用方法:
1、在D盘新建一个文件夹,命名为SWbackup,打开文件夹,新建list.txt,编辑这个文本文件,每行输入3列分别是:交换机ip 密码 enable密码;
例如:192.168.1.1 cisco cisco(有多少交换机就写多少行)
2、将下载回来解压后的 SecureCRT对所有交换机路由器批处理执行WR命令的脚本.vbs复制到D盘SWbackup文件夹内;
3、在D盘SWbackup文件夹中新建一个log文件夹,用于保存配置文件。
然后再新建一个以日期为名字的文件夹用于区别多个备份。
目录结构例如:d:\SWbackup\log\20110810\
4、打开SecureCRT,点击菜单栏的脚本-执行,选择下载回来解压后的备份所有交换机配置批处理脚本.vbs,点执行。
脚本中的目录、文件名、命令,大家可以自己改啊,想偷懒就自己研究一下。
很简单的。
更改方法:右键点击备份所有交换机配置批处理脚本.vbs,点编辑。
======================================================================= ======================
# $language = "VBScript"
# $interface = "1.0"
'本脚本示范:从一个文件里面自动读取设备IP地址,密码等,自动将设备配置备份
Sub Main
'打开保存设备管理地址以及密码的文件
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso,file1,line,str1,params
Set fso = CreateObject("Scripting.FileSystemObject")
Set file1 = fso.OpenTextFile("d:\SWbackup\list.txt",Forreading, False)
crt.Screen.Synchronous = True
DO While file1.AtEndOfStream <> True
'读出每行
line = file1.ReadLine
'分离每行的参数 IP地址密码 En密码
params = Split (line)
crt.session.LogFileName = "d:\SWbackup\log\20120331\" & params(0) & ".txt"
crt.session.Log(true)
'Telnet到这个设备上
crt.Session.Connect "/TELNET " & params(0)
'输入telnet密码
crt.Screen.WaitForString "Password:"
crt.Screen.Send params(1) & vbcr
'进特权模式
crt.Screen.Send "enable" & vbcr
crt.Screen.WaitForString "Password:"
crt.Screen.Send params(2) & vbcr
crt.Screen.waitForString "#"
'备份目前runing-config配置
str1 = "show run"
crt.Screen.Send str1 & vbcr
crt.Screen.WaitForString " --More-- "
crt.Screen.Send " " & vbcr
'备份完成后退出
crt.Screen.waitForString "!" & vbcrlf & "end"
crt.Session.Disconnect
loop
crt.Screen.Synchronous = False
End Sub
'list.txt需要先做好。
每行3列分别是:交换机ip 密码 enable密码。
例如:192.168.1.1 cisco
cisco,有多少交换机就写多少行
=======================================================================
=======================
有cisco交换机配置中末尾部分不是:! end 。
这样的话脚本执行会出现报错。
只要把
'备份完成后退出
crt.Screen.waitForString "!" & vbcrlf & "end"
改为crt.Screen.waitForString "end" ,就可以顺利执行了。