最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

智能監(jiān)測自動重啟Apache服務(wù)器的Shell腳本

 更新時間:2014年07月05日 11:04:10   投稿:junjie  
這篇文章主要介紹了智能監(jiān)測自動重啟Apache服務(wù)器的Shell腳本,實現(xiàn)監(jiān)控Apache不可用時,第一次強制重啟,第二次郵件通知管理員,需要的朋友可以參考下

由于需要監(jiān)控某些要求高可用性的Apache服務(wù)器,除了專業(yè)的監(jiān)控報警設(shè)備,低成本下在Apache服務(wù)器上寫一個自動監(jiān)測Apache狀態(tài)的腳本是個不錯的主意。在網(wǎng)上搜索了許多類似的腳本,但由于局限性較大,也都存在一些不完善的地方,所以自己寫了一個。

腳本功能與特點

1、能夠每隔一段時間監(jiān)測Apache服務(wù)器的可用性(由于本腳本直接模擬了客戶端的訪問,因此這里的“可用性”是指切切實實的正??稍L問)
2、在出現(xiàn)無法訪問的情況下,能夠自動重啟Apache服務(wù)(強行重啟)
3、在重啟后仍然無法正常訪問的話,自動執(zhí)行更進(jìn)一步的操作(比如發(fā)送郵件、重啟服務(wù)器等)
后文將給出此腳本的具體使用方法與注釋,大家可以根據(jù)自己的情況手動修改(需了解一定bash shell編程)。

腳本內(nèi)容:

#!/bin/bash
URL=”http://127.0.0.1/”
curlit()
{
curl –connect-timeout 15 –max-time 20 –head –silent “$URL” | grep '200′
# 上面的15是連接超時時間,若訪問localhost的HTTP服務(wù)超過15s仍然沒有正確響應(yīng)200頭代碼,則判斷為無法訪問。
}
doit()
{
if ! curlit; then
# 如果localhost的apache服務(wù)沒有正常返回200頭,即出現(xiàn)異常。執(zhí)行下述命令:
sleep 20
top -n 1 -b >> /var/log/apachemonitor.log
# 上面將top命令內(nèi)容寫入日至文件備查
/usr/bin/killall -9 apache2 && /usr/bin/killall -9 php5-cgi && /usr/bin/killall -9 httpd && /usr/bin/killall -9 http && /usr/bin/killall -9 apache && /usr/bin/killall -9 php-cgi > /dev/null
# 兼容起見,殺死了各種apache的進(jìn)程。可以根據(jù)自己apache服務(wù)的特點修改
sleep 2
/etc/init.d/apache2 start > /dev/null
/etc/init.d/httpd start > /dev/null
# 兼容起見,執(zhí)行了兩種apache重啟命令,可根據(jù)需要自己修改。
echo $(date) “Apache Restart” >> /var/log/apachemonitor.log
# 寫入日志
sleep 30
# 重啟完成后等待三十秒,然后再次嘗試一次
if ! curlit; then
# 如果仍然無法訪問,則:
echo $(date) “Failed! Now Reboot Computer!” >> /var/log/apachemonitor.log
# 寫入apache依然重啟失效的日志
reboot
# 重啟機器唄。實際上重啟整個服務(wù)器是一種非常不得已的做法。本人并不建議。大家根據(jù)需要自己修改,比如短信、郵件報警什么的。
fi
sleep 180
fi
}
sleep 300
# 運行腳本后5分鐘后才開始正式工作(防止重啟服務(wù)器后由于apache還沒開始啟動造成誤判)
while true; do
# 主循環(huán)體
doit > /dev/null
sleep 10
done

使用方法
使用方法非常靈活,總之讓上面的腳本在開機后一直執(zhí)行就行了。由于腳本使用了curl命令,因此還需要安裝curl環(huán)境。安裝curl的方法:
根據(jù)發(fā)行版選擇下面兩條命令即可:

yum install curl
apt-get install curl

若希望將其自動啟動,則可以把腳本寫入rc.local中即可。

相關(guān)文章

  • Linux 中LVS NAT 配置步驟的詳解

    Linux 中LVS NAT 配置步驟的詳解

    這篇文章主要介紹了Linux 中LVS NAT 配置步驟的詳解的相關(guān)資料,這里列出詳細(xì)的實現(xiàn)步驟,需要的朋友可以參考下
    2017-08-08
  • 一問弄懂Shell變量四大分類

    一問弄懂Shell變量四大分類

    Shell變量分為環(huán)境變量、本地變量、位置參數(shù)變量和特殊變量,本文就詳細(xì)的介紹一下這四種變量的具體使用,具有一定的參考,感興趣的可以了解一下
    2023-05-05
  • shell腳本換行問題實戰(zhàn)記錄

    shell腳本換行問題實戰(zhàn)記錄

    換行相信大家都不陌生,下面這篇文章主要給大家介紹了關(guān)于shell腳本換行問題的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Linux中rz命令和sz命令使用詳解大全

    Linux中rz命令和sz命令使用詳解大全

    在linux中rz 和 sz 命令允許開發(fā)板與主機通過串口進(jìn)行傳遞文件了,下面我們就來簡單的介紹一下rz 和 sz 命令實例
    2015-10-10
  • Shell 編程:Bash空格的那點事

    Shell 編程:Bash空格的那點事

    空格,一個看不見的字符,很不起眼,也正由于不起眼,很多人經(jīng)常忽略它,導(dǎo)致代碼出錯,卻還找不著北。這里,我們來聊聊bash中空格的那點事
    2015-01-01
  • Putty實現(xiàn)自動登陸遠(yuǎn)程Linux主機的方法

    Putty實現(xiàn)自動登陸遠(yuǎn)程Linux主機的方法

    這篇文章主要介紹了Putty實現(xiàn)自動登陸遠(yuǎn)程Linux主機的方法,本文講解的是使用公鑰和密鑰方式實現(xiàn)自動登錄,需要的朋友可以參考下
    2015-04-04
  • Linux中搭建FTP服務(wù)器的方法

    Linux中搭建FTP服務(wù)器的方法

    這篇文章主要介紹了Linux中搭建FTP服務(wù)器的方法 的相關(guān)資料,需要的朋友可以參考下
    2015-09-09
  • linux命令學(xué)習(xí)之10個網(wǎng)絡(luò)命令和監(jiān)控命令

    linux命令學(xué)習(xí)之10個網(wǎng)絡(luò)命令和監(jiān)控命令

    下面列出來的10個基礎(chǔ)的每個linux用戶都應(yīng)該知道的網(wǎng)絡(luò)和監(jiān)控命令,大家參考使用吧
    2014-01-01
  • linux xz壓縮解壓的方法小結(jié)

    linux xz壓縮解壓的方法小結(jié)

    這篇文章主要介紹了linux xz壓縮解壓的方法小結(jié) ,文中給大家提到了linux解壓.tar.xz壓縮包 的方法,需要的朋友可以參考下
    2019-07-07
  • 三分鐘學(xué)會Linux基本指令

    三分鐘學(xué)會Linux基本指令

    本文小馬將把Linux一般比較常見的指令給大家一一列舉出來,為了大家忘記某些指令后,可以方便查詢記憶,再次小馬建議,Linux指令并不需要去特別花時間專門記憶,只需要多進(jìn)行操作實現(xiàn)就行,這篇文章主要介紹了Linux基本指令,需要的朋友可以參考下
    2022-12-12

最新評論

五大连池市| 昌吉市| 南召县| 云安县| 华阴市| 区。| 衡南县| 张家口市| 霞浦县| 龙门县| 兰考县| 平和县| 鄂托克前旗| 自治县| 云梦县| 广德县| 敖汉旗| 花莲市| 衡水市| 德昌县| 永泰县| 崇阳县| 和林格尔县| 格尔木市| 安远县| 井陉县| 咸丰县| 大名县| 五河县| 岚皋县| 通化县| 蒙山县| 阿克| 利川市| 宝丰县| 横峰县| 犍为县| 青海省| 华容县| 镇远县| 马公市|