提高效率 巧用腳本配置思科路由器
首先:要明確自己想要進(jìn)行那些操作,執(zhí)行那些命令,然后進(jìn)行腳本的編寫(xiě)。
例:我要進(jìn)行running-configure配置的備份操作,當(dāng)然,設(shè)備早已經(jīng)配置好了,tftp服務(wù)器也準(zhǔn)備好了。
路由器配置如下:
username ccie privilege 15 password 0 ccie
!
interface FastEthernet0/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 11.133.183.251 255.255.255.0
duplex auto
speed auto
!
ip classless
ip route 0.0.0.0 0.0.0.0 11.133.183.254
ip http server
ip pim bidir-enable
!
line vty 0 4
login local
那么可以按照下面的步驟進(jìn)行:
1、編寫(xiě)腳本:
新建一個(gè)文件crt.vbs,尾綴為。vbs,內(nèi)容如下:
#$language = "VBScript"
#$interface = "1.0"
Sub main
' turn on synchronous mode so we don't miss any data
crt.Screen.Synchronous = True
On Error Resume Next
crt.session.Connect("/telnet 11.133.183.251")
If Err.Number<>0 Then
crt.session.Connect("/telnet 11.133.183.251")
End If
crt.Screen.WaitForString "Username:"
crt.Screen.Send "ccie" & VbCr
crt.Screen.WaitForString "Password:"
crt.Screen.Send "ccie " & VbCr
crt.Screen.WaitForString "Router#"
crt.Screen.Send "config t" & VbCr
crt.Screen.WaitForString "Router(config)#"
crt.Screen.Send "int f0/1" & VbCr
crt.Screen.WaitForString "Router(config-if)#"
crt.Screen.Send "no sh" & VbCr
crt.Screen.WaitForString "Router(config-if)#"
crt.Screen.Send "end" & VbCr
crt.Screen.WaitForString "Router#"
crt.Screen.Send "copy run tftp://11.133.183.249" & VbCr
crt.Screen.WaitForString "Address or name of remote host [11.133.183.249]"
crt.Screen.Send ""& VbCr
crt.Screen.WaitForString "Destination filename [router-confg]"
crt.Screen.Send ""& VbCr
Do while (crt.Screen.WaitForString("--- more ---",1)<>False)
crt.Screen.Send " "
Loop
' crt.Screen.Send "exit" & VbCr
crt.session.disconnect
crt.Screen.Synchronous = False
End Sub
相信懂vb的朋友很容易看懂的,上面內(nèi)容的相關(guān)解釋如下:
* crt.session.Connect("/telnet 11.133.183.251")--這個(gè)應(yīng)該很好理解了,需要telnet的設(shè)備。
* crt.Screen.WaitForString "Username:"--從設(shè)備上返回的信息,也就是提示信息。
* crt.Screen.Send "ccie" & VbCr--像設(shè)備上發(fā)送的字符,即你在正常操作時(shí)輸入的命令或字符
* & VbCr ------輸入字符后并回車(chē)。
注:" "中部分為需要進(jìn)行相應(yīng)改動(dòng)的地方,您只需要根據(jù)您的具體情況進(jìn)行改動(dòng)即可。
2、應(yīng)用腳本:
* 打開(kāi)CRT軟件
* 點(diǎn)擊“Script"菜單
* 點(diǎn)擊“RUN”
* 在彈出菜單中找到剛才編寫(xiě)的腳本存放的目錄,并輸入腳本的名字crt.vbs.
這時(shí)可以看到腳本在執(zhí)行,如下:
User Access Verification
Username: ccie
Password:
Router#config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int f0/1
Router(config-if)#no sh
Router(config-if)#end
Router#copy run tftp://11.133.183.249
Address or name of remote host [11.133.183.249]?
Destination filename [router-confg]?
!!
694 bytes copied in 9.60 secs (77 bytes/sec)
Router#
希望這個(gè)小技巧對(duì)您有所幫助,減輕您的一些重復(fù)操作。
編輯注:本文所述方法不僅可以適用于思科設(shè)備,同樣也適用于那些通過(guò)WINDOWS終端來(lái)連接的其他設(shè)備。
首先:要明確自己想要進(jìn)行那些操作,執(zhí)行那些命令,然后進(jìn)行腳本的編寫(xiě)。
例:我要進(jìn)行running-configure配置的備份操作,當(dāng)然,設(shè)備早已經(jīng)配置好了,tftp服務(wù)器也準(zhǔn)備好了。
路由器配置如下:
username ccie privilege 15 password 0 ccie
!
interface FastEthernet0/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 11.133.183.251 255.255.255.0
duplex auto
speed auto
!
ip classless
ip route 0.0.0.0 0.0.0.0 11.133.183.254
ip http server
ip pim bidir-enable
!
line vty 0 4
login local
那么可以按照下面的步驟進(jìn)行:
1、編寫(xiě)腳本:
新建一個(gè)文件crt.vbs,尾綴為。vbs,內(nèi)容如下:
#$language = "VBScript"
#$interface = "1.0"
Sub main
' turn on synchronous mode so we don't miss any data
crt.Screen.Synchronous = True
On Error Resume Next
crt.session.Connect("/telnet 11.133.183.251")
If Err.Number<>0 Then
crt.session.Connect("/telnet 11.133.183.251")
End If
crt.Screen.WaitForString "Username:"
crt.Screen.Send "ccie" & VbCr
crt.Screen.WaitForString "Password:"
crt.Screen.Send "ccie " & VbCr
crt.Screen.WaitForString "Router#"
crt.Screen.Send "config t" & VbCr
crt.Screen.WaitForString "Router(config)#"
crt.Screen.Send "int f0/1" & VbCr
crt.Screen.WaitForString "Router(config-if)#"
crt.Screen.Send "no sh" & VbCr
crt.Screen.WaitForString "Router(config-if)#"
crt.Screen.Send "end" & VbCr
crt.Screen.WaitForString "Router#"
crt.Screen.Send "copy run tftp://11.133.183.249" & VbCr
crt.Screen.WaitForString "Address or name of remote host [11.133.183.249]"
crt.Screen.Send ""& VbCr
crt.Screen.WaitForString "Destination filename [router-confg]"
crt.Screen.Send ""& VbCr
Do while (crt.Screen.WaitForString("--- more ---",1)<>False)
crt.Screen.Send " "
Loop
' crt.Screen.Send "exit" & VbCr
crt.session.disconnect
crt.Screen.Synchronous = False
End Sub
相信懂vb的朋友很容易看懂的,上面內(nèi)容的相關(guān)解釋如下:
* crt.session.Connect("/telnet 11.133.183.251")--這個(gè)應(yīng)該很好理解了,需要telnet的設(shè)備。
* crt.Screen.WaitForString "Username:"--從設(shè)備上返回的信息,也就是提示信息。
* crt.Screen.Send "ccie" & VbCr--像設(shè)備上發(fā)送的字符,即你在正常操作時(shí)輸入的命令或字符
* & VbCr ------輸入字符后并回車(chē)。
注:" "中部分為需要進(jìn)行相應(yīng)改動(dòng)的地方,您只需要根據(jù)您的具體情況進(jìn)行改動(dòng)即可。
2、應(yīng)用腳本:
* 打開(kāi)CRT軟件
* 點(diǎn)擊“Script"菜單
* 點(diǎn)擊“RUN”
* 在彈出菜單中找到剛才編寫(xiě)的腳本存放的目錄,并輸入腳本的名字crt.vbs.
這時(shí)可以看到腳本在執(zhí)行,如下:
User Access Verification
Username: ccie
Password:
Router#config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int f0/1
Router(config-if)#no sh
Router(config-if)#end
Router#copy run tftp://11.133.183.249
Address or name of remote host [11.133.183.249]?
Destination filename [router-confg]?
!!
694 bytes copied in 9.60 secs (77 bytes/sec)
Router#
希望這個(gè)小技巧對(duì)您有所幫助,減輕您的一些重復(fù)操作。
編輯注:本文所述方法不僅可以適用于思科設(shè)備,同樣也適用于那些通過(guò)WINDOWS終端來(lái)連接的其他設(shè)備。