Chinaunix首页 | 论坛 | 博客

qsh

  • 博客访问: 4029703
  • 博文数量: 1015
  • 博客积分: 15904
  • 博客等级: 上将
  • 技术积分: 8572
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-04 19:16
文章分类

全部博文(1015)

文章存档

2019年(1)

2017年(1)

2016年(19)

2015年(27)

2014年(30)

2013年(95)

2012年(199)

2011年(72)

2010年(109)

2009年(166)

2008年(296)

分类: 系统运维

2012-04-01 15:29:45

小弟测试了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" ,就可以顺利执行了。
 
 
 
阅读(5889) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~