一個簡單監控 Apache httpd Server的Shell腳本,如果發現httpd常常掛掉,該shell可以自動重啟 apache
搭配工具:curl.exe (https://curl.haxx.se/windows/ )
備註:內有原始碼,不放心的人可以自己編譯成執行檔。
@ECHO OFF :: 宣告屬性區域 ::網址 set chkWeb=http://127.0.0.1/robots.txt::Apache set srvname="Apache" ::MySQLa set srvMysql="MySQLa" ::每60秒偵測一次 set secs=60::先啟動MySQLa,只啟動一次 ::net start %srvMysql% ::說明 echo .echo ========================================echo == 查詢Apache服務的狀態 ==echo == 每間隔%secs%秒鐘進行一次查詢 ==echo == 如發現其停止,則立即啟動 ==echo == By Zerolocus or pratnket ==echo ========================================echo .:: 標記 start , goto專用 :start :: 等待秒數 timeout %secs% :: 模擬訪問 chkWeb 並產生 cache.txt curl -o cache.txt %chkWeb% :: EQU - 等於 :: NEQ - 不等於 :: LSS - 小於 :: LEQ - 小於或等於 :: GTR - 大於 :: GEQ - 大於或等於 :: 0 = success | 1 = errH if %errorlevel% EQU 0 goto successif %errorlevel% NEQ 0 goto errH::結果 0 則寫入 Server is OK 寫進去 logs.txt 筆記本 :success echo %date% %time%: "Server is OK" >> logs.txt goto start :: 標記 errH , goto專用 :errH :: 停止Apache 服務 net stop %srvname% :: 啟動Apache 服務 net start %srvname% timeout %secs% echo %date% %time%: error Code:%errorlevel% >> logs.txt goto start pause
補充說明:
如果你是使用整合安裝包(phpStudy、Xampp)來安裝,請注意是否有安裝此服務(Apache、Mysqla)
舉例:phpStudy
運行模式:需要使用系統服務,即可直接使用你自身所安裝的服務了