易本地工作室-Ebend Software&Network Studio - 群发,采集,管理类软件定制开发服务【易本地工作室】
本工作室提供信息采集,管理,群发类软件定制服务,6年软件定制经验!

通过VBS脚本批量检测服务器状态

脚本名称:通过VBS脚本批量检测服务器状态

脚本语言:VBS

原创作者:易本地工作室 艾云超

官方网站:易本地工作室

授权状态:免费

功能说明:通过VBS脚本批量检测服务器状态,是否可以访问,可以自定义端口号,针对WEB可以设置CHECK的页面

使用方法:通过CSCRIPT运行该VBS脚本,后面可设置参数,参数格式 服务器IP 端口 WEB页面地址 例如:cscript.exe checkStatus.vbs 127.0.0.1 80 /index.html

脚本下载:暂不提供下载,请直接复制源码另存为VBS文件即可

脚本代码:

'on error resume next      
Public WinSocket,host,port,checkpage      
public sSendData      
public sRevData      
public M,N      
public iErrCount,iTimeOut      
public iAlwaysFlag,iAlwaysErr      
public iStartTime      
Dim objfso      
Dim oArgs      
    Set oArgs = WScript.Arguments      
    host = oArgs(0)      
    port = oArgs(1)      
    checkpage=oArgs(2)      
    Set oArgs = Nothing
    'Set objfso=CreateObject("scripting.filesystemobject")      
    'Set f=objfso.OpenTextFile("c:\\"+host+"_Errlog.txt",2,true)      
    sSendData="GET "+checkpage+" HTTP/1.1"
    sSendData=sSendData+ vbcrlf+"HOST:www.xici.net"
    sSendData=sSendData+ vbcrlf+"Cache-Control:no-cache"
    sSendData=sSendData+ vbcrlf      
    sSendData=sSendData+ vbcrlf      
    sSendData=sSendData+ vbcrlf+"OK"
    Set WinSocket=WScript.CreateObject("MSWinsock.Winsock")       
    WinSocket.Protocol=0       
    WinSocket.RemotePort=port       
    WinSocket.RemoteHost=host       
    M=0      
    iErrCount=0      
    iTimeOut=0      
    iAlwaysErr=0      
    iStartTime=now      
    'f.WriteLine "Start Time:"+cstr(now)      
    'f.WriteLine "IP Address:"+host      
    'f.WriteLine "Check Page:"+checkpage      
    'f.WriteLine "==================================="      
    do while (1)              
        M=M+1      
        sRevData=""
        WinSocket.connect       
        N=1      
        do while(WinSocket.state<>7 and N<500)      
                N=N+1      
                WScript.sleep 10      
        loop      
        if WinSocket.state=7 then       
            WinSocket.senddata sSendData      
            N=1      
            do while(WinSocket.BytesReceived=0 and N<500)      
                    N=N+1      
                    WScript.sleep 10      
            loop      
            if (N<500 and WinSocket.state=7) THEN      
                WinSocket.getdata sRevData,vbString      
                sRevData=left(sRevData,12)      
                if (sRevData<>"HTTP/1.1 200") then      
                    iErrCount=iErrCount+1      
                    'f.WriteLine cstr(now)+" Reviced Error:"+sRevData         
                    iAlwaysErr=iAlwaysErr+1      
                else      
                    iAlwaysFlag=true      
                end if      
                WScript.Echo "HOST:"+host+"    CHECKPAGE:"+checkpage      
                WScript.Echo "Reviced:"+sRevData+" ["+cstr(iStartTime)+"]"+"-["+cstr(now)+"]"
                WScript.Echo "TIMER:"+cstr(int((now-iStartTime)*100000))+"s    TOTAL:"+cstr(M)+"    ERR:"+cstr(iErrCount)+"[ "+cstr(cint((iErrCount)/M*100))+"% ]"+"    TIMEOUT:"+cstr(iTimeOut)+"[ "+cstr(cint((iTimeOut)/M*100))+"% ]"
            else      
                iTimeOut=iTimeOut+1      
                WScript.Echo "Respond Time out!"
                'f.WriteLine cstr(now)+" Timeout Error!"      
            end if      
            if (iAlwaysFlag=true) then      
                iAlwaysErr=0      
                iAlwaysFlag=false      
            end if      
            if (iAlwaysErr>=50) then      
                iErrCount=iErrCount-iAlwaysErr      
                iAlwaysErr=0      
                WScript.Echo "Server Error!Stop Count"
            end if      
        else      
            iTimeOut=iTimeOut+1      
            WScript.Echo "Connect Time out!"
            'f.WriteLine cstr(now)+" Timeout Error!"      
        end if      
        WinSocket.close       
    loop      
'f.Close      
WScript.quit




标签:VBS服务器状态监控
分类:源码教程| 发布:adobo| 查看: | 发表时间:2012/11/15
原创文章如转载,请注明:转载自易本地工作室-Ebend Software&Network Studio http://www.ebend.net/
本文链接:http://www.ebend.net/post/CheckServerStatusWithVBS.html

已经有 ( 0 ) 位网友发表了评论,你也评一评吧!