设为首页
加入收藏
帮助中心
首页 | 红盾通告 | 信息中心 | ASP技术 | 数据库 | 网页设计 | 网管专栏 | OICQ攻略 | 墨客频道 | 网站运营 |
当前位置:首页 >> 网管专栏 >> WEB服务 >> 正文
最新信息
·windows 2003服务器的iis6…
·解决w3wp.exe内存占用问题…
·IIS服务、ASP.NET引擎以及…
·保护Internet信息服务(IIS…
·提高IIS 5.0网站服务器的执…
·如何用IIS建立高安全性Web…
·如何启用iis的带宽限制
·彻底掌握IIS6.0功能及应用…
·彻底掌握IIS6.0功能及应用…
·DZ论坛在WIN服务器下不能使…
资料搜索
热点信息
·为网站设置自定义404错误页…
·重启iis提示不支持此接口的…
·如何启用iis的带宽限制
·DZ论坛在WIN服务器下不能使…
·DCOM出错 BA126AD1-2166-1…
·IIS常见返回错误编号
·IIS监控--自动重启脚本工具
·IIS性能优化
·在Win2003下配置Apache+ph…
·安全设置 IIS 中的权限
推荐信息
·解决w3wp.exe内存占用问题…
·阿帕奇 HTTP 服务器参考手…
·一个IP建多个Web站点--主机…
·在Wind2003中为Web站点配置…
·在Win2003下配置Apache+ph…
·如何启用iis的带宽限制
·win2000server IIS和tomca…
·Servlet/JSP配置详解(基础…
·IIS6 和Tomcat5 的整合
·win2000下jsp平台搭建的简…


Google
 
IIS监控--自动重启脚本工具
〖编辑:Cloudy | 浏览:人次〗

功能:可以在IIS意外终止时自动重启IIS,无须登陆系统,无人职守
条件:
1.服务器安装过Windows Script 5.6,可以正常运行.vbs脚本。
2.确保系统服务Windows Management Instrumentation 正常启动。

将以下代码复制为 fu.vbs,放至系统盘WINNT/System32/下,注意重命名时要和“cscript //h:cscript&&cscript fu.vbs” 中的fu.vbs保持一至,否则计划任务启动时报找不到文件的错误。
然后做计划任务,让其在系统启动时运行监控
vbs代码:
 程序代码
strFullName = WScript.FullName
strWshHost = Right(strFullName, 11)
'WScript.Echo "Default script host: " & strWshHost
If strWshHost = "WScript.exe" Then
Set objShell = CreateObject("WScript.Shell")
objShell.Run _
"%comspec% /k ""cscript //h:cscript&&cscript fu.vbs""", _
MAXIMIZE_WINDOW
If Err.Number <> 0 Then
WScript.Echo "Error 0x" & hex(Err.Number) & " occurred. " & _
Err.Description & ". " & VbCrLf & _
"Could not temporarily change the default script host to Cscript."
Err.Clear
WScript.Quit
End If
WScript.Quit
End If
'----上面这段代码是强制到cscript命令行,一般要在cmd命令行下输入cscript *.vbs,如果直接执行vbs会用wscript打开,这样只会弹个对话框,我不喜欢,有不想每次都cscript,所以要写点额外的代码,双击后会调用一个wscript执行csript,然后再消灭自己,幸好微软的网站上提供了这个代码------------------------------------
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel= impersonate, (Security)}!\\" & strComputer & "\root\cimv2")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("Select * from __instancecreationevent where TargetInstance isa'Win32_NTLogEvent' and TargetInstance.EventCode = '7031' ")
Wscript.Echo "开始监视iis于 "&now
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
Wscript.Echo "重新启动iis "&now
Set objShell = CreateObject("WScript.Shell")
objShell.Run "%COMSPEC% /c IISRESET.EXE",,1
'------核心程序

whichfile=("iisresetlog.htm")
set fso=createobject("Scripting.FileSystemObject")
if Not fso.FileExists(whichfile) then
iomode=2 : create=true
'Set MyFile = fso.CreateTextFile(whichfile,True)
else
iomode=8 : create=false
'Set MyFile = fso.CreateTextFile(whichfile)
end if
set MyFile = fso.OpenTextFile(whichfile,iomode,create)
'MyFile.writeLine("事件发生于 "&now&" 重启iis成功"&vbctrf)
if create=true then
MyFile.WriteLine ""
MyFile.WriteLine ""
MyFile.WriteLine ""
MyFile.WriteLine ""
MyFile.WriteLine ""
MyFile.WriteLine ""
end if
MyFile.WriteLine " iis重启时间: <font color=red>" &now& "</font>"
'MyFile.WriteLine " 是否成功: 是 <>"
MyFile.WriteLine "<br>"
MyFile.WriteLine " "
MyFile.Close
set fso=nothing
Loop
'-----用fso记录iis 重启日志。


注意:TargetInstance.EventCode = '7031' 这段代码控制了在什么情况下重启IIS,7031是系统的事件 ID代号,即当系统日志出现7031这样的事件时重启IIS。
下面是系统7031事件描述:IIS Admin Service 服务意外地终止,这种情况已经出现了 1 次。以下的修正操作将在 1 毫秒内运行: 运行配置的故障恢复程序。
同样的道理,可以根据不同的事件ID触发此脚本,修改objShell.Run "%COMSPEC% /c IISRESET.EXE",,1 这一行代码,可以执行任何win32所支持的程序,即可以根据任意事件触发执行任意的程序,那样用途更广了。
另:
%comspec%打开一个命令行窗口。%comspec% 是一个指向当前命令行外壳的环境变量。通过使用 %comspec%,您不必担心命令行外壳是 cmd.exe 还是 command.exe;%comspec% 会自动选择正确的一个。

/k 在调用 Dir 命令后,确保窗口始终保持打开。这就是 /k 参数的用处。如果我们想要确保命令窗口会在 Dir 命令调用完成后被自动关闭,应该将 /k (keep) 修改为 /c (close)。


录入时间:2007-03-12 20:45:30 [打印本页] [关闭窗口] [返回顶部]
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

Copyright © 2006-2014 0733168.Com Inc All Rights Reserved
关于我们 | 广告合作 | 联系我们 | 法律声明 | 友情链接 | 意见反馈
本站所收录信息、社区话题、及本站所做之广告均属其个人行为,与本站立场无关
湘ICP备06008436号