小菜:在路由器設備中,經常需要查看短時間內路由表和mac表等的變化趨勢,這種重複性的show操作啊,可真是多。感覺整個路由器都是show命令。哦不對,思科是這樣,華爲全是Display命令。
大鳥:你又開始研究路由器了?
小菜:拿老闆錢財,替老闆消災。俺就革命一塊磚,哪裏需要哪裏搬。
大鳥:喲喲喲,開始耍滑頭了呀。。正經點,談談問題。
小菜:有沒有方法簡化這種重複性的show或dispaly工作?
大鳥:當然了,使用seucreCRT的錄屏和回放功能就可以完成。
爲引入vbs腳本,針對每天需要操作N次的常見操作,我們這裏先提供一種最便利的解決方案。對SecureCRT軟件的錄屏和回放功能進行介紹。
本小節功能很簡單,但是是後面介紹的批量設備維護工具的基礎。
一 操作任務:
使用date命令查看系統當前時間,重複10次。
二 實現過程:
- 選擇“Script”-"Start Recording Script“,啓動錄屏操作。
- 在連接上的shell界面,手動輸入date命令並回車。得到如下圖所示。
- 選擇“Script”-"Stop Recording Script“,結束錄屏操作,並保存剛纔的錄屏腳本,命名爲“1-錄製.vbs”後保存。
“1-錄製.vbs”文件說明。使用txt或notepad++等文本編輯工具打開後,可以看到錄製的代碼。
主要的就只有兩行:
發送:crt.Screen.Send "date" & chr(13)
預期:crt.Screen.WaitForString "]# "
使用是發送完date命令後回車chr(13),等待"]# "符號,然後再運行下一行(如果有的話)。
#$language = "VBScript"
#$interface = "1.0"
crt.Screen.Synchronous = True
' This automatically generated script may need to be
' edited in order to work correctly.
Sub Main
crt.Screen.Send "date" & chr(13)
crt.Screen.WaitForString "]# "
crt.Screen.Send chr(13)
crt.Screen.WaitForString "]# "
End Sub
三 重複回放:
- 通過“Script”-"run...“,選擇“1-錄製.vbs”文件,點擊確定後就開始自動運行了。
- 如果想運行10次,重複步驟1,10次操作就是了。錄屏之後,是不是操作很方便?
四 應用場景引申:
小菜:使用錄屏/回放功能,真是方便。想運行多少次就回放多少次。
大鳥:這麼容易就滿足了,我眼中那個精益求精的優秀小菜哪去了。。如果要操作100次的話,你也回放100次?
小菜:這需求我還沒碰到,碰到再說。工具適用即可,上次誰在《大話設計模式》強調,千萬不要過度設計,不要過度設計。。
大鳥:我。。這。。。都什麼跟什麼呀。。。