一直在使用的基於IIS的OA網站監控及自動重啓腳本,分享出來給須要的朋友。
現象服務器
IIS常常會因某些BUG沒法訪問app
處理思路curl
一、在沒法修改代碼狀況下,嘗試使用IIS自動監控而且自動重啓應用程序池或網站進行修復。不過因爲重啓應用程序池異常,所以本腳本嘗試給網站更換一個應用程序池(應用程序池以前已經建立)
二、監控前提:安裝cur(本文中再也不詳細描述,能夠度娘下)l並使用curl進行網頁打開是否正常測試;ide
@echo off set oa=http://172.16.1.3/OA/index.aspx echo %oa% for /f %%z in ('curl -so /dev/null -w %%{http_code} %oa%') do ( set result=%%z) if %result% equ 200 (cd C:\Windows\System32\inetsrv appcmd set site /site.name:OA /[path='/'].applicationPool:oa echo %date:~0,10% %time:~0,8% Restart OAWEB服務 >>c:\RESTART_OA.txt) else exit
使用效果:將上述代碼保存爲一個bat腳本後經過計劃任務實現按期監查網站,一旦網頁打不開就自動更換一個應用程序池(固然也能夠直接重啓網站服務或重啓應用程序池,本文中再也不詳細描述,能夠度娘下),這樣若是一臺服務器上IIS有多個網站,直接重啓IIS可能會影響其餘網站用戶訪問網站的感覺,而上述腳本只須要修改應用程序池就相應於重啓了這個網站。測試