步骤:

1:建立健康监测文件。文件内容随意,这里以healthcheck.aspx命名,内容是<span>hellow word</span>

2:利用vbs语言执行IIS重启

文件名称:AppPoolRecycle.vbs

注意:自行修改进程池的名称这里是“DefaultAppPool”

strComputer = "."
Set objWMIService = GetObject _
("winmgmts:{authenticationLevel=pktPrivacy}\\" _
& strComputer & "\root\microsoftiisv2")
'回收名为DefaultAppPool的应用程序池
Set colItems = objWMIService.ExecQuery _
("Select * From IIsApplicationPool Where Name = " & _
"'W3SVC/AppPools/DefaultAppPool'")
For Each objItem in colItems
objItem.Recycle
Next

2:利用VBS调用curl进行探测,利用grep对探测结果进行筛选

文件名称:IISchk.vbs

注意:

A:文件路径中不能有空格,自行修改探测的文件地址这里是http://localhost/healthcheck.aspx

B:本代码位置是C:\healthcheck

C:附件清单(文件夹curl里面有32位64位两个版本外部的curl.exe是32位;grep文件夹里是该软件的安装程序;AppPoolRecycle.vbs 重启脚本;IISchk.vbs检查脚本;curl.txtcurl结果文件;grep.txt grep结果文件;)

d:C:\ProgramFiles\GnuWin32\bin\grep.exe 这个是我的grep安装目录,路径不能有空格

E:建立计划任务周期执行IISchk.vbs脚本就可以了

Set objShell = CreateObject("Wscript.Shell")
'利用curl获取目标网页的http头信息
strcmd1 = "%comspec% /c C:\healthcheck\curl -I http://localhost/healthcheck.aspx -o c:\healthcheck\curl.txt"
'利用grep筛选出curl获取的关键行HTTP/1.1
strcmd2 = "%comspec% /c C:\ProgramFiles\GnuWin32\bin\grep.exe -i HTTP/1.1 c:\healthcheck\curl.txt > c:\healthcheck\grep.txt"
objShell.Run(strcmd1)
'等待500毫秒让strcmd1的文件写完,因为strcmd2需要这个文件
WScript.Sleep 500
objShell.Run(strcmd2)
'打开经过筛选后的grep.txt文本
Const ForReading=1
Dim strLine,strnewline
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("c:\healthcheck\grep.txt", ForReading)
strLine = objTextFile.ReadLine
'去掉头尾的空格
strnewline = Trim(strLine)
'判断行是否等于HTTP/1.1 200 OK,如果不等于则运行c:\healthcheck\AppPoolRecycle.vbs
If not strnewline = "HTTP/1.1 200 OK" then
objShell.Run("c:\healthcheck\AppPoolRecycle.vbs")
End if

F:用到的文件

IIS状态监测(如果状态错误则重启IIS)的更多相关文章

  1. 【转载】 GPU状态监测 nvidia-smi 命令详解

    原文地址: https://blog.csdn.net/huangfei711/article/details/79230446 ----------------------------------- ...

  2. Tomcat 项目部署、账户配置、状态监测

    tomcat部署项目 方式一.自动部署(最常用) 直接把war包或部署的文件夹放到webapps下. tomcat启动后会自动监听webapps下的文件|目录,放入打包好的项目会自动部署,移除打包好的 ...

  3. Linux iostat监测IO状态

    Linux iostat监测IO状态 http://www.orczhou.com/index.php/2010/03/iostat-detail/

  4. Linux iostat监测IO状态(转)

    Linux iostat监测IO状态 2010-03-1  |  13:13分类:Linux,技术细节  |  标签:Linux  |  53,945 views Linux系统出现了性能问题,一般我 ...

  5. c#监测电脑状态

    public class DeviceMonitor { static readonly PerformanceCounter cpuCounter = new PerformanceCounter( ...

  6. 【zabbix】Windows服务器获取IIS站点以及程序池状态

    在使用zabbix做Windows服务器监控的时候遇到一个比较棘手的问题,检测IIS站点状态. 普通情况下,只要用浏览器访问iis站点测试一下返回码是不是200即可判断状态,但是我这次遇到的是iis使 ...

  7. intouch与PLC之间通讯状态监测和设置

    intouch与PLC进行通讯状态监测中,一般做法需要PLC来实施主动脉冲计数,或者bool变化来实现.本文通过上位机自带参数设置,实现对intouch通讯状态监视,将画面恢复初始状态,并及时弹窗报警 ...

  8. iNeuOS工业互联网操作系统,发布实时存储方式:实时存储、变化存储、定时存储,增加设备振动状态和电能状态监测驱动,v3.6.2

    目       录 1.      概述... 1 2.      平台演示... 2 3.      存储方式... 2 4.      设备状态和用电状态监控驱动... 3 1.   概述 本次升 ...

  9. C#后台程序重启IIS,发邮件通知

    应用场景:IIS网站挂掉,系统自动重启IIS,通知相关联系人: 主要代码: 监控类 public class monitoringiis { EmailSend send = new EmailSen ...

随机推荐

  1. 删除数据库mysql

    drop命令用于删除数据库. drop命令格式:drop database <数据库名>; 例如,删除名为 xhkdb的数据库:mysql> drop database xhkdb; ...

  2. JS判断页面加载完毕

    //JS判断页面加载完毕,再隐藏加载效果层,一个简单的JS加载效果. document.onreadystatechange = function () { if (document.readySta ...

  3. LintCode: Convert Sorted Array to Binary Search Tree With Minimal Height

    C++ /** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; ...

  4. Java 通过 jacob调用OCX控件

    安装好要调用的ocx驱动,并通过注册表查询其对应的clsid. 下载jacob-1.18解压,将jacob-1.18-x86.dll文件复制到D:\Program Files (x86)\Java\j ...

  5. Spring MVC 实现文件的上传和下载

    前些天一位江苏经贸的学弟跟我留言问了我这样一个问题:“用什么技术来实现一般网页上文件的上传和下载?是框架还是Java中的IO流”.我回复他说:“使用Spring MVC框架可以做到这一点,因为Spri ...

  6. 持续集成篇_08_Hudson持续集成服务器的使用(自动化编译、分析、打包、部署)

    持续集成篇_08_Hudson持续集成服务器的使用(自动化编译.分析.打包.部署) 1.创建任务 svn用户验证 验证通过 *****五颗*表示每分钟检查svn路径是否有变更,有变更就会重新构建,相当 ...

  7. POJ 1548 Robots(最小路径覆盖)

    POJ 1548 Robots 题目链接 题意:乍一看还以为是小白上那题dp,事实上不是,就是求一共几个机器人能够覆盖全部路径 思路:最小路径覆盖问题.一个点假设在还有一个点右下方,就建边.然后跑最小 ...

  8. C3P0连接池使用教程

     转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6405861.html  在项目中的应用见: https://github.com/ygj0930/Coupl ...

  9. 让span对宽度有响应而且兼容多种浏览器

    span {display:-moz-inline-box; display:inline-block; width:20px;height:20px;}

  10. Java 共享数据读写(多线程)

    public class StopThread { // 静态字段的读写不必须要同步才能生效,尽管读写是原子的(atom) private static boolean stopRequested; ...