亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦故障 > 電腦故障現(xiàn)象 > 自動重啟 >

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

      時間: 加城1195 分享

        自動重啟故障相信大家都遇到過,原因也有很多,跟系統(tǒng),硬件或者外界因素都有關(guān)。這篇文章主要介紹了智能監(jiān)測自動重啟Apache服務(wù)器的Shell腳本,實現(xiàn)監(jiān)控Apache不可用時,第一次強制重啟,第二次郵件通知管理員,需要的朋友可以參考下

        腳本功能與特點

        1、能夠每隔一段時間監(jiān)測Apache服務(wù)器的可用性(由于本腳本直接模擬了客戶端的訪問,因此這里的“可用性”是指切切實實的正常可訪問)

        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中即可。

        補充:電腦總是自動重啟怎么辦

        1、右擊“我的電腦”,選擇“屬性”項。

        2、在打開的系統(tǒng)屬性窗口中選擇“高級系統(tǒng)設(shè)置”項進(jìn)入。

        3、在打開的“系統(tǒng)屬性”窗口中,切換至“高級”選擇卡,然后點擊“系統(tǒng)和故障恢復(fù) 設(shè)置”按鈕。

        4、在打開的窗口中取消勾選“自動重啟啟動”項并按確認(rèn)即可。

        5、當(dāng)電腦在使用的過程中產(chǎn)生藍(lán)屏?xí)r,我們就可以進(jìn)入“系統(tǒng)日志”管理器中查看產(chǎn)生系統(tǒng)失敗的根源啦。打開“運行”對話框,輸入命令“eventvwr.msc”即可查看日志信息,從中定位系統(tǒng)產(chǎn)生失敗的原因。

        6、當(dāng)然,我們也可以通過禁用某些開機項來嘗試修復(fù)系統(tǒng)。打開“運行”對話框,輸入命令“msconfig”進(jìn)入“系統(tǒng)配置實用程序”界面,勾選“常規(guī)”選項卡下的“診斷啟動”選項。

        7、還有一種修復(fù)計算機藍(lán)屏或重啟故障的方法,就是在電腦啟動時按“F8”進(jìn)入系統(tǒng)故障菜單,從中選擇“安全模式”進(jìn)入或“最后一次正確的配置”項進(jìn)入系統(tǒng),將及有可能修復(fù)系統(tǒng)。

        8、當(dāng)然,如果以上方法均不能解決問題,那么建議您還是重新安裝一下系統(tǒng),畢竟安裝系統(tǒng)所耗費的時間相對修復(fù)所用時間要少許多。一勞永逸之事才是王道。

        相關(guān)閱讀:電腦自動重啟方法

        方法一:

        1、打開控制面板-管理工具-計劃任務(wù)程序

        2、創(chuàng)建基本任務(wù),名稱欄目,輸入“定時重啟”,下一步;

        3、在窗口里,有每天、每周、每月、一次各種選擇,這里小誠選擇一次,這次執(zhí)行完就失效,您可以根據(jù)自己的情況進(jìn)行選擇哈,點擊下一步;

        4、設(shè)置重啟的日期、時間點,下一步;

        5、選擇啟動程序,下一步;

        6、在打開頁面里,點擊瀏覽,找到C;\Windows\System32\Shutdown.exe,點擊打開;

        7、在添加參數(shù)欄目里輸入“-r”(重啟),進(jìn)行下一步

        8、點擊完成,即可實現(xiàn)自動重啟了

        方法二:

        網(wǎng)上搜索個自動重啟關(guān)機類軟件,這比較多,簡單設(shè)置一下就可以了。


      自動重啟Apache服務(wù)器的Shell腳本相關(guān)文章:

      1.windows下怎么啟動apache

      2.linux安裝apache命令

      3.linux shell腳本執(zhí)行命令

      4.使用腳本實現(xiàn)故障時自動重啟Apache代碼

      5.如何在Windows下運行l(wèi)inux shell腳本

      4022767