




下載本文檔
版權(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;#腳本類(lèi)型,0 為執(zhí)行命令的腳本,1 為局?jǐn)?shù)據(jù)備份腳本# 執(zhí)行命令腳本請(qǐng)?zhí)顚?xiě)以下參數(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í)顚?xiě)以下參數(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ù)名稱(chēng)t 參數(shù)類(lèi)型t 有效值范圍n);是否測(cè)試標(biāo)志位tttTest_Flagt 布爾類(lèi)型t(fal
3、se 為不測(cè)是否監(jiān)視tttMonitor_Flagt 布爾類(lèi)型t(false 為不監(jiān)視,消息服務(wù)器 ip 地址ttaddresstt 字符串類(lèi)型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 字符串類(lèi)型t 有效的IP 地址n);push(inputArgv,登錄 SASS(NSS 旅統(tǒng)的用戶名稱(chē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ò)誤的腳本類(lèi)型,請(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ù)組組合稱(chēng)為一個(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新能源與抽水蓄能的綜合利用方案
- 智游新紀(jì)元模板
- 電商節(jié)購(gòu)物金融攻略
- 農(nóng)村閑置資源盤(pán)活中的社會(huì)參與機(jī)制
- 外語(yǔ)學(xué)科中的社會(huì)主義核心價(jià)值觀教育
- 素描啟蒙課程
- 2025年生物有機(jī)肥料類(lèi)項(xiàng)目申請(qǐng)報(bào)告模板
- 陳舊性趾間關(guān)節(jié)脫位治療
- 內(nèi)科護(hù)理學(xué)輸血
- 2025年配電輸電設(shè)備:線槽項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 2024年河南省洛陽(yáng)市中考第三次模擬考試語(yǔ)文試卷
- MOOC 影視鑒賞-揚(yáng)州大學(xué) 中國(guó)大學(xué)慕課答案
- 醫(yī)療器械(耗材)項(xiàng)目售后服務(wù)能力及方案
- FZT 73013-2017 針織泳裝行業(yè)標(biāo)準(zhǔn)
- 藥品生產(chǎn)監(jiān)督管理辦法培訓(xùn)課件
- 口腔門(mén)診納入定點(diǎn)后醫(yī)療保障基金的預(yù)測(cè)性分析報(bào)告
- 血液科疾病常見(jiàn)癥狀護(hù)理培訓(xùn)課件
- 遣送押解方案
- 2024-2025年全國(guó)初中化學(xué)競(jìng)賽試卷及答案
- 廢水處理作業(yè)風(fēng)險(xiǎn)點(diǎn)和安全防范應(yīng)急措施
- 鄉(xiāng)村醫(yī)生從業(yè)管理?xiàng)l例全面解讀
評(píng)論
0/150
提交評(píng)論