A-A+

使用SecureCRT批处理备份所有交换机路由器配置脚本

2016年02月17日 站长资讯 暂无评论

测试了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,点 编辑。

脚本内容:

  1. =============================================================================================  
  2. # $language = "VBScript"  
  3. # $interface = "1.0"  
  4. '本脚本示范:从一个文件里面自动读取设备IP地址,密码等,自动将设备配置备份  
  5. Sub Main  
  6.      '打开保存设备管理地址以及密码的文件  
  7.      Const ForReading = 1ForWriting = 2ForAppending = 8  
  8.      Dim fso,file1,line,str1,params  
  9.      Set fso = CreateObject("Scripting.FileSystemObject")  
  10.      Set file1 = fso.OpenTextFile("d:\SWbackup\list.txt",Forreading, False)          
  11.   
  12.      crt.Screen.Synchronous = True  
  13.      DO While file1.AtEndOfStream <> True  
  14.         '读出每行  
  15.         line = file1.ReadLine  
  16.         '分离每行的参数 IP地址 密码 En密码  
  17.         params = Split (line)  
  18.        crt.session.LogFileName = "d:\SWbackup\log\20120331\" & params(0) & ".txt"  
  19.        crt.session.Log(true)  
  20.         'Telnet到这个设备上   
  21.         crt.Session.Connect "/TELNET " & params(0)  
  22.         '输入telnet密码  
  23.         crt.Screen.WaitForString "Password:"  
  24.         crt.Screen.Send params(1) & vbcr  
  25.         '进特权模式  
  26.         crt.Screen.Send "enable" & vbcr  
  27.         crt.Screen.WaitForString "Password:"  
  28.         crt.Screen.Send params(2) & vbcr  
  29.         crt.Screen.waitForString "#"   
  30.          '备份目前runing-config配置  
  31.         str1 = "show run"  
  32.         crt.Screen.Send str1 & vbcr  
  33.            crt.Screen.WaitForString " --More-- "  
  34.            crt.Screen.Send " " & vbcr  
  35.         '备份完成后退出  
  36.         crt.Screen.waitForString "!" & vbcrlf & "end"  
  37.         crt.Session.Disconnect           
  38.         loop  
  39.      crt.Screen.Synchronous = False              
  40. End Sub  
  41.  'list.txt需要先做好。每行3列分别是:交换机ip 密码 enable密码。例如:192.168.1.1 cisco cisco,有多少交换机就写多少行  

有cisco交换机配置中末尾部分不是: ! end 。这样的话脚本执行会出现报错。只要把

'备份完成后退出

  1. crt.Screen.waitForString "!" & vbcrlf & "end"  

改为crt.Screen.waitForString "end" ,就可以顺利执行了。

标签:

给我留言