路由器(Router)是連接兩個或多個網絡的硬件設備,在網絡間起網關的作用,是讀取每一個數據包中的地址然后決定如何傳送的專用智能性的網絡設備,路由器最主要的功能為實現信息的轉送。 在給交換機做配置變更或者日常檢查過程中,經常會遇到需要大批量的修改或查看交換機命令的情況。
如果工程師一臺臺登陸交換機進行配置修改或檢查,效率太低。
常用的CRT軟件SecureCRT的腳本功能就可以做到批量配置或檢查,SecureCRT提供了強大的腳本工具,我們可以編寫vbs、js、pl、py腳本文件來實現我們的需求。
我這里介紹了使用SecureCRT通過vbs腳本批量備份cisco交換機配置的方法,實測可用。
此腳本可以根據你的需要修改,改成其他功能。
使用方法
1. 在D盤新建一個文件夾,命名為SW_Scripts,打開文件夾,新建list.txt,編輯文本文件,每行輸入4列分別是:交換機ip 用戶名 密碼 enable密碼
例:
192.168.1.100 user123 pwd123456 cisco123
192.168.1.101 user123 pwd123456 cisco123
……
有多少交換機就寫多少行
2.新建backup.txt,編輯文本文件,將下文的交換機批量備份配置腳本內容復制到文本文件中,腳本中的目錄、文件名、命令根據自己需求進行自定義修改,保存退出。將backup.txt更改為backup.vbs,確定。
3.在D盤SW_Scripts文件夾內新建一個log文件夾,用于記錄操作過程。
4.打開SecureCRT,點擊菜單欄的 腳本→執行,選擇backup.vbs,執行。
5.查看log信息,檢查備份文件。
腳本范例
交換機批量備份配置腳本:
# $language = "VBScript"
# $interface = "1.0"
Sub Main
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso,file1,line,str1,str2,params
Set fso = CreateObject("Scripting.FileSystemObject")
'設備列表和密碼文件路徑,運行前需要確認路徑!
Set file = fso.OpenTextFile("D:\SW_Scripts\list.txt",Forreading, False)
crt.Screen.Synchronous = True
DO While file.AtEndOfStream <> True
line = file.ReadLine
params = Split (line)
'輸出log文件路徑,運行前需要確認log文件夾存在!
crt.session.LogFileName = "D:\SW_Scripts\log\" & params(0) & " @"& Year(Now) &"-"& Month(Now) &"-"& Day(Now) &".txt"
crt.session.Log(true)
'登錄
crt.Session.Connect "/TELNET " & params(0)
crt.Screen.WaitForString "Username:"
crt.Screen.Send params(1) & vbcr
crt.Screen.WaitForString "Password:"
crt.Screen.Send params(2) & vbcr
crt.Screen.waitForString ">"
str0 = "enable"
crt.Screen.Send str0 & vbcr
crt.Screen.WaitForString "Password:"
crt.Screen.Send params(3) & vbcr
crt.Screen.waitForString "#"
'備份目前startup配置到tftp服務器
str1 = "copy startup-config tftp://192.168.1.111"
str2 = params(0) & "-config" & "@" & Year(Now) &"-"& Month(Now) &"-"& Day(Now) & ".cfg"
crt.Screen.Send str1 & vbcr
crt.Screen.WaitForString "]?"
crt.Screen.Send vbcr
crt.Screen.WaitForString "]?"
crt.Screen.Send str2 & vbcr
crt.Screen.WaitForString "#"
'登出
crt.Session.Disconnect
loop
crt.Screen.Synchronous = False
End Sub
注意事項
1.腳本先用測試交換機測試運行正常后方可批量執行。
2.建議分多個list.txt文件分批執行,不要一次性執行完所有設備。
3.根據交換機ios版本不同,部分waitForString可能不一樣,比如登錄步驟中,大部分交換機waitForString是Username:,但是也有的是username:,因此會造成腳本執行中斷,需根據實際情況自行修改。
4.對于做AAA認證的交換機,有的可能沒有enable密碼,登錄后跳過了>,直接進入了#,因此waitForString也需對應修改。
本文可以幫助您基本地設置和管理您的路由器。
|