您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Bash Shell如何實(shí)現(xiàn)運(yùn)維監(jiān)控腳本的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
一、功能分析
1.要知道服務(wù)器是否與公網(wǎng)聯(lián)通最簡單的辦法就是ping一個(gè)公網(wǎng)的IP地址。
2.如果你ping一個(gè)公網(wǎng)的IP地址的話,存在單點(diǎn)故障啊,如果這個(gè)IP掛了呢,并不是服務(wù)器的原因呢,所以這里要選用兩個(gè)IP。
3.在這里就選擇google.cn和baidu.com,這兩個(gè)一起掛的可能性幾乎為0,這個(gè)安全級(jí)別是我們可以接受的。
4.如果發(fā)現(xiàn)網(wǎng)路不通(就是百度和谷歌都ping不通了)怎么通知我呢?就用聯(lián)移的短信貓通知我,只需在數(shù)據(jù)庫中插入一行數(shù)據(jù)即可。
二、代碼功能實(shí)現(xiàn)構(gòu)思
1.ping百度,把執(zhí)行結(jié)果記錄到一個(gè)臨時(shí)文件中。ping通返回值為0,ping不通返回值為1.
2.ping谷歌,把執(zhí)行結(jié)果記錄到一個(gè)臨時(shí)文件中。ping通返回值為0,ping不通返回值為1.
3.把上面兩個(gè)命令的兩個(gè)返回值交給一個(gè)變量。
4.判斷這個(gè)變量的值。00為通,01或者10不能代表是服務(wù)器的問題。如果是11就肯定是服務(wù)器與外網(wǎng)斷了。
5.這時(shí)需要報(bào)警給SA了。
三、代碼實(shí)施
#!/bin/bash
#-----------Network Check And Send a Message BY 趙班長-----------
DOMAIN1=www.baidu.com
DOMAIN2=www.google.cn
USER=sms
PASSWORD=unixhot
MYSQLHOST=192.168.0.12
ping -c 2 $DOMAIN1 >/dev/null
echo -n $? > /tmp/network-status
ping -c 2 $DOMAIN2 >/dev/null
echo -n $? >> /tmp/network-status
STATUS=`cat /tmp/network-status`
if [ "$STATUS" -eq 11 ];then
/usr/bin/mysql -h $MYSQLHOST -u$USER -p$PASSWORD sms -e "insert into T_SendTask(DestNumber,Content) values('1368308*****','Network is Bad')"
fi
四、腳本執(zhí)行。
1.加上執(zhí)行權(quán)限,并執(zhí)行。
2.手動(dòng)進(jìn)行斷網(wǎng)測試。
3.檢測是否運(yùn)行正常。
4.根據(jù)生產(chǎn)環(huán)境的具體情況,應(yīng)用到計(jì)劃任務(wù)中。
感謝各位的閱讀!關(guān)于“Bash Shell如何實(shí)現(xiàn)運(yùn)維監(jiān)控腳本”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。