2010-01-28 星期四 13:04:50.85 网站出问题了!
13:04:50.85正在重启IIS.....
第一个:批处理(网站运行状态监控器.bat)
@title 网站运行状态监控器 『罗斌制作』 QQ:287727615
@setlocal enabledelayedexpansion
::将第二个参数(IP加端口)传给%%i,第五个参数(PID号)传给%%j;
for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p TCP"`) do (
echo %%i %%j >>log.log
)
::则表示网站正在运行,如果没有发现则表示网站已经关闭,执行重启。
@set str=0.0.0.0:80
@for /f "delims=" %%i in (log.log ) do (
set /a num+=1
if !num! epu2 set var=%%i
if !num! epu2 set var=!var:~2,12!
)
@echo !var!
@if %str%==%var% (
@echo %date% %time% 网站正常运转。>>网站运行日志.log
) else (
@echo %date% %time% 网站出问题了! >>网站运行日志.log
@echo %time%正在重启IIS..... >>网站运行日志.log
iisreset /restart /timeout:0 >>网站运行日志.log
@echo %time%正在重启服务器..... >>网站运行日志.log
@call 启动IIS脚本.vbs
)
@ping 127.0.0.1 -n 2 >nul
@del log.log
第二个:脚本(启动IIS脚本.vbs )
for each proc in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_
if strcomp(proc.name,proname)=0 then
proc.Terminate
end if
next
set proc=nothing
End Function '定义一个结束进程的方法
set oshell= createobject("wscript.shell") '这样做的目的只有一个,就是如果批处理没有启动成功
os.run "C:\WINDOWS\system32\inetsrv\iis.msc" '则执行这个脚本来启动,以保证万无一失。
wscript.sleep 2000
os.sendkeys "{DOWN}"
wscript.sleep 2000
os.sendkeys "{TAB}"
wscript.sleep 2000
os.sendkeys "{ENTER}"
wscript.sleep 2000
os.sendkeys "{DOWN}"
wscript.sleep 2000
os.sendkeys "%a"
wscript.sleep 2000
os.sendkeys "{S}"
KillProcess "mmc.exe"
Set objFSO = CreateObject("Scripting.FileSystemObject")
set copy1=createobject("scripting.filesystemobject")
set fso=wscript.createobject("scripting.filesystemobject")
fso.copyfile "启动IIS脚本.vbs","C:\windows\system\启动IIS脚本.vbs"
fso.copyfile "网站运行状态监控器.bat","C:\windows\system\网站运行状态监控器.bat"
copy1.getfile(wscript.scriptfullname).copy("c:\windows\system\开始监控.vbs")
path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\"
set ws=wscript.createobject("wscript.shell")
t=ws.regwrite(path & "IIS监控","c:\windows\system\开始监控.vbs")
do
ws.run "cmd /c 网站运行状态监控器.bat",vbhide
wscript.sleep 7200000 '每2个小时循环执行一次 网站运行状态监控器.bat 。
loop
这个脚本其实最主要的只是个控制” 网站运行状态监控器.bat “ 每2个小时运行一次的作用罢了。
直接点击 开始监控.vbs 运行就可以了。 运行 开始监控.vbs 该程序会自动将该压缩包里的“开始监控.vbs ” , “ 网站运行状态监控器.bat ” , “ 启动IIS脚本.vbs ” 这个三个文件复制到system目录下,同时会增加一个组册表的启动项。让其开机启动。
《提示》
注意,由于程序的不灵活性,它不是拿到任何地方都能用的。需要稍作修改的地方是
os.run "C:\WINDOWS\system32\inetsrv\iis.msc"
wscript.sleep 2000
os.sendkeys "{DOWN}" '打开IIS.msc之后按下 下 方向键
wscript.sleep 2000
os.sendkeys "{TAB}" '然后按下 TAB 键
wscript.sleep 2000
os.sendkeys "{ENTER}" '然后按下 回车 键