一直在使用的基于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可能会影响其余网站用户访问网站的感觉,而上述脚本只须要修改应用程序池就相应于重启了这个网站。测试