路由器(Router)是連接兩個(gè)或多個(gè)網(wǎng)絡(luò)的硬件設(shè)備,在網(wǎng)絡(luò)間起網(wǎng)關(guān)的作用,是讀取每一個(gè)數(shù)據(jù)包中的地址然后決定如何傳送的專用智能性的網(wǎng)絡(luò)設(shè)備,路由器最主要的功能為實(shí)現(xiàn)信息的轉(zhuǎn)送。 在給交換機(jī)做配置變更或者日常檢查過程中,經(jīng)常會遇到需要大批量的修改或查看交換機(jī)命令的情況。
如果工程師一臺臺登陸交換機(jī)進(jìn)行配置修改或檢查,效率太低。
常用的CRT軟件SecureCRT的腳本功能就可以做到批量配置或檢查,SecureCRT提供了強(qiáng)大的腳本工具,我們可以編寫vbs、js、pl、py腳本文件來實(shí)現(xiàn)我們的需求。
我這里介紹了使用SecureCRT通過vbs腳本批量備份cisco交換機(jī)配置的方法,實(shí)測可用。
此腳本可以根據(jù)你的需要修改,改成其他功能。
使用方法
1. 在D盤新建一個(gè)文件夾,命名為SW_Scripts,打開文件夾,新建list.txt,編輯文本文件,每行輸入4列分別是:交換機(jī)ip 用戶名 密碼 enable密碼
例:
192.168.1.100 user123 pwd123456 cisco123
192.168.1.101 user123 pwd123456 cisco123
……
有多少交換機(jī)就寫多少行
2.新建backup.txt,編輯文本文件,將下文的交換機(jī)批量備份配置腳本內(nèi)容復(fù)制到文本文件中,腳本中的目錄、文件名、命令根據(jù)自己需求進(jìn)行自定義修改,保存退出。將backup.txt更改為backup.vbs,確定。
3.在D盤SW_Scripts文件夾內(nèi)新建一個(gè)log文件夾,用于記錄操作過程。
4.打開SecureCRT,點(diǎn)擊菜單欄的 腳本→執(zhí)行,選擇backup.vbs,執(zhí)行。
5.查看log信息,檢查備份文件。
腳本范例
交換機(jī)批量備份配置腳本:
# $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")
'設(shè)備列表和密碼文件路徑,運(yùn)行前需要確認(rèn)路徑!
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文件路徑,運(yùn)行前需要確認(rèn)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服務(wù)器
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
注意事項(xiàng)
1.腳本先用測試交換機(jī)測試運(yùn)行正常后方可批量執(zhí)行。
2.建議分多個(gè)list.txt文件分批執(zhí)行,不要一次性執(zhí)行完所有設(shè)備。
3.根據(jù)交換機(jī)ios版本不同,部分waitForString可能不一樣,比如登錄步驟中,大部分交換機(jī)waitForString是Username:,但是也有的是username:,因此會造成腳本執(zhí)行中斷,需根據(jù)實(shí)際情況自行修改。
4.對于做AAA認(rèn)證的交換機(jī),有的可能沒有enable密碼,登錄后跳過了>,直接進(jìn)入了#,因此waitForString也需對應(yīng)修改。
本文可以幫助您基本地設(shè)置和管理您的路由器。
|