




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、usearis;useIO:Socket;&dispatchCmds();#=#以下四個(gè)函數(shù)分別是命令集合,結(jié)果分析,輸入?yún)?shù),輸出參數(shù),需要定制#=#命令集合subdispatchCmds# 該參數(shù)必須選定my$script_type=0;#腳本類型,0 為執(zhí)行命令的腳本,1 為局?jǐn)?shù)據(jù)備份腳本# 執(zhí)行命令腳本請(qǐng)?zhí)顚懸韵聟?shù)my$pattern1=-More-;#分頁(yè)顯示的提示符my$pattern2=$#?$;#命令執(zhí)行的提示符my$timeout=10;#超時(shí)等待時(shí)間my$cmdName=vmstat15;#待發(fā)送的命令數(shù)組# 局?jǐn)?shù)據(jù)備份腳本請(qǐng)?zhí)顚懸韵聟?shù)my$backup_typ
2、e=ciscoCommand;&perlTemplate(ScriptType=$script_type,Pattern1=$pattern1,Pattern2=$pattern2,Timeout=$timeout,CmdName=$cmdName,BackupType=$backup_type);# 輸入?yún)?shù)subinputArgvFilemy$fileName=substr($0,length($path).in;myinputArgv;push(inputArgv,中文釋義ttt 參數(shù)名稱t 參數(shù)類型t 有效值范圍n);是否測(cè)試標(biāo)志位tttTest_Flagt 布爾類型t(fal
3、se 為不測(cè)是否監(jiān)視tttMonitor_Flagt 布爾類型t(false 為不監(jiān)視,消息服務(wù)器 ip 地址ttaddresstt 字符串類型t 有效的 IP 地址n);push(inputArgv,消息服務(wù)器使用 socket 通信端口tporttt 整數(shù)tt 有效的端口值n);push(inputArgv,客戶端標(biāo)識(shí) IDtttClient_IDt 字符串tt 符合格式要求的push(inputArgv,試,true 為測(cè)試)n);push(inputArgv,true 為監(jiān)視)n);push(inputArgv,客戶端 IDn);push(inputArgv,要訪問(wèn)白設(shè)備 IP 地址t
4、tDevice_IPt 字符串類型t 有效的IP 地址n);push(inputArgv,登錄 SASS(NSS 旅統(tǒng)的用戶名稱tSASS_Usernamet 字符串tt 可用的用戶名n);push(inputArgv,登錄SASS(NSS旅統(tǒng)的用戶口令tSASS_Passwordt字符串tt與用戶名匹配的用戶密碼n);open(FILE,$path.$fileName);printFILEinputArgv;close(FILE);printinputArgv;# 輸出參數(shù)suboutputArgvFilemy$fileName=substr($0,length($path).out;myo
5、utputArgv;push(outputArgv,cpu 利用率=int,%,cpu 利用率);open(FILE,$path.$fileName);printFILEoutputArgv;close(FILE);printoutputArgv;# 模版,一般不需要修改subperlTemplateprintenterinperln;# 獲取腳本文件所在的路徑,在該路徑下存儲(chǔ)輸入?yún)?shù)格式文件 inputArgv.txt 和輸出參數(shù)格式文件 outputArgv.txtmy$path=&getScriptPath($0);# 獲取執(zhí)行方式信息my$Mode_Type=&getM
6、odeType($ARGV0);# 判斷執(zhí)行方式if($Mode_Typeeq0)# 執(zhí)行腳本正文部分# 獲取輸入?yún)?shù)文件路徑, 原始結(jié)果文件和結(jié)果分析文件所需存取路徑與輸入?yún)?shù)文件路徑相同my$ResultPath=&getInputArgvPath($ARGV0);# 將輸入?yún)?shù)文件中所列參數(shù)存入一個(gè) hashtabel 變量my%argv=&inputArgv($ARGV0);# 判斷腳本是否測(cè)試my$Test_Flag=$argvTest_Flag;# 根據(jù)輸入的參數(shù)地址信息與端口,與消息服務(wù)器建立連接my$sock=&connect2msgserver($ar
7、gvaddress,$argvport);# 定義消息傳送方式,并發(fā)送請(qǐng)求消息頭my$source=0;#perl 腳本傳入,不可更改&sendRequest($sock,$source,$argvbroadcast,$argvClient_ID);# 接收從接收端傳回的信息,確定是否繼續(xù)傳送以下的消息# 若接 U到true則繼續(xù)傳送信息,若為false,則不再傳輸信息給 socketmy$response=;# 對(duì)返回的信息進(jìn)行處理,獲得返回的字符串trueorfalsemy$isContinue=&getResponse($response);printtherespons
8、eis$isContinuen;if($isContinueeqtrue)# 返回結(jié)果為 true 的話,執(zhí)行 telnet 設(shè)備的操作# 定義保存訪問(wèn)設(shè)備時(shí)產(chǎn)生的異常消息my$msg;# 保存命令返回的結(jié)果,也是發(fā)送到消息服務(wù)器的結(jié)果my$cmd1;# 登陸設(shè)備# 0 為標(biāo)準(zhǔn)連接# 1 登陸 cisco 設(shè)備的普通模式,需要用戶名密碼# 2 登陸 cisco 設(shè)備的 enable 模式,需要用戶名,密碼及 enable 密碼# 3 登陸 cisco 設(shè)備的普通模式,不需用戶名,只需要密碼# 4 登陸 cisco 設(shè)備的 enable 模式,不需用戶名,需要密碼及 enable 密碼my$t=
9、&connectToDevice(%argv);$msg=$t-errmsg;# 獲取傳入的參數(shù)my($dispatchArgv)=_;my$script_type=$dispatchArgv-ScriptType;if($msgeq)if($script_type=0)my($pattern1,$pattern2,$timeout,cmdName)=($dispatchArgv-Pattern1,$dispatchArgv-Pattern2,$dispatchArgv-Timeout,$dispatchArgv-CmdName);($t,cmd1)=&sendCmd($t,$
10、pattern1,$pattern2,$timeout,cmdName);elsif($script_type=1)my$backup_type=$dispatchArgv-BackupType;($t,cmd1)=&doBackup($t,$ResultPath,&getCurrentTimeStr(),$argvHostName,$path.bucs_input.xml,$backup_type);else$t-error(輸入錯(cuò)誤的腳本類型,請(qǐng)檢查后重新輸入!.n);$msg=$t-errmsg;print錯(cuò)誤信息為;print$msg;printn;if($msgeq)
11、#若無(wú)任何錯(cuò)誤消息返回,則成功$argvRunning_Status=2;else#若有錯(cuò)誤消息返回,則失敗$argvRunning_Status=3;cmd1=($msg);#將所有的命令用;,分割并放在原始結(jié)果的第一行cmd1=(join(;,cmdName),n,cmd1);# 斷開(kāi)與 sass 系統(tǒng)的聯(lián)系$t=&disconnectFromSass($t);# 將返回?cái)?shù)組組合稱為一個(gè)大的字符串,以便于一次性傳遞$cmd1=&array2string(cmd1);printcmd1;# Running_Status=0/1 代表失敗/成功# 結(jié)果正確性判斷$isResul
12、tRight=&judgeResult(cmd1);# 日志記錄,記錄命令執(zhí)行結(jié)果的狀態(tài)&cmdResultLog($cmdName,$isResultRight);if($isResultRighteq0)#命令執(zhí)行結(jié)果錯(cuò)誤&sendMsg($sock,$cmd1,%argv);elsif($isResultRighteq1)#命令執(zhí)行結(jié)果正確 if($Test_Flageqtrue)#測(cè)試腳本&sendMsg($sock,$cmd1,%argv);elsif($Test_Flageqfalse)#正常運(yùn)行腳本,非測(cè)試#保存執(zhí)行結(jié)果,保存至數(shù)據(jù)庫(kù)或保存至文件&
13、amp;save2db();#將結(jié)果保存至與輸入?yún)?shù)文件相同的目錄&save2file($ResultPath.orig.txt,cmd1);#結(jié)果分析resultAnalyse=&resultAnalyse($ResultPath);#分析結(jié)果保存&saveAnalyseResult($ResultPath.parsed.txt,resultAnalyse);&ftpUpload($ResultPath);&sendMsg($sock,$cmd1,%argv);#關(guān)閉與設(shè)備的連接close$t;else#返回結(jié)果為 falseprint返回結(jié)果為 fa
14、lsen;# 關(guān)閉與消息服務(wù)器的連接close$sock;elsif($Mode_Typeeq1)# 運(yùn)行輸入?yún)?shù)部分,產(chǎn)生輸入?yún)?shù)文件printDisplaytheinputargvfile!n;&inputArgvFile();elsif($Mode_Typeeq2)# 運(yùn)行輸出參數(shù)部分,產(chǎn)生輸出參數(shù)文件printDisplaytheoutputargvfile!n;&outputArgvFile();#任務(wù)執(zhí)行結(jié)果分析,返回任務(wù)分析的結(jié)果subresultAnalyseprintanalysetheexecutedcmdsresultandreturntheanalyseresultn;my(result)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微生物檢驗(yàn)技術(shù)人員的職業(yè)素養(yǎng)與試題及答案
- 童車制造企業(yè)生產(chǎn)調(diào)度與優(yōu)化練習(xí)考核試卷
- 室外拱形廊道施工方案
- 垃圾運(yùn)輸防滲漏施工方案
- 2025年【光氣及光氣化工藝】模擬考試題及答案
- 移動(dòng)通信技術(shù)在智慧工廠行業(yè)的應(yīng)用考核試卷
- 項(xiàng)目材料采購(gòu)的試題及答案
- 2024年花藝師考試的學(xué)習(xí)方法與技巧試題及答案
- 畜牧業(yè)綠色發(fā)展政策建議考核試卷
- 紙張表面裝飾技術(shù)的創(chuàng)新與發(fā)展考核試卷
- 2024年碳排放管理員(高級(jí)工)職業(yè)鑒定考試題庫(kù)及答案
- 客戶體驗(yàn)在金融業(yè)中的重要性
- DL∕T 5210.4-2018 電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程 第4部分:熱工儀表及控制裝置
- B江水利樞紐工程畢業(yè)設(shè)計(jì)計(jì)算書
- HG+20231-2014化學(xué)工業(yè)建設(shè)項(xiàng)目試車規(guī)范
- 2024海南中考化學(xué)二輪重點(diǎn)專題突破 專題三 流程圖題(課件)
- 急性冠脈綜合征患者健康教育
- 2024年全國(guó)初中數(shù)學(xué)競(jìng)賽試題含答案
- 任務(wù)花式噴泉PLC控制任務(wù)課件
- 手術(shù)室轉(zhuǎn)運(yùn)工人培訓(xùn)
- MOOC 電子線路分析基礎(chǔ)-西安電子科技大學(xué) 中國(guó)大學(xué)慕課答案
評(píng)論
0/150
提交評(píng)論