linux 下寫個shell腳本來檢測網站是否正常運作,如果無法正常通路,則重新開機相關服務,如 apache或nginx,相信對運維來說沒什麼難度,但是對于windows伺服器管理者來說就比較苦惱了,下面我寫了個批處理程式加linux下的開源軟體wget來檢測網站是否正常運作,如果發生異常則執行響應操作。
wget已經被編譯成windows下可以運作的軟體。以下是批處理源碼,附件包含批處理及編譯後的WGET,直接修改下網站位址,服務名稱,在windows的計劃任務裡添加每分鐘的計劃任務即可。
@echo off
echo.>>wget.log
rem 使用wget下載下傳網頁首頁檔案,并記錄日志
.\wget -a wget.log -d http://blog.sdxtjc.com/index.php
rem 判斷index.html檔案是否下載下傳成功
if exist index.php goto end
echo.>>system.log
net stop apache
rem 停止apache服務,這裡可以修改成你需要控制的WEB伺服器,比如IIS
ping 127.0.0.1 -n 10
rem 休息10秒鐘等服務停完,如果停的慢,可以改為20秒
net start apache
rem 啟動apache服務,這裡可以修改成你需要控制的WEB伺服器,比如IIS
echo ---------------------------->>system.log
date/t>>system.log&&time/t>>system.log
echo error occurred>>system.log
rem
exit
:end
echo ok>>system.log
echo y|del .\index.php
rem 最後删除index.php供下次下載下傳使用