怎么样监测脚本/网络设备状态?
以前自己写的一个监控脚本,每隔10秒使用PING命令检查一个IP列表中的IP,如果不通,则通过messenger消息发送,并使用BEEP发出报警声。需要文件sleep.exe(可到网上下一个)、BEEP.EXE(自己用DELPHI写的,不必需,代码可去掉,也可以去网上找一个),再建立文件ip.txt,user.txt,运行脚本即可。
remmain.bat
@echooff
for/F"eol=;tokens=1,2*delims=="%%iin(ip.TXT)docall:checkip%%i%%j0
echo--------------------------------------------------------------
echo----第一轮检查完毕,如果没有听到报警声,表示各IP都可以PING通----
echo----如果有异常的IP,请再手动使用PING命令,以确认检查的正确性----
echo----现在进行循环检查,每隔10000ms检查一个IP----
echo--------------------------------------------------------------
:begin
for/F"eol=;tokens=1,2*delims=="%%iin(ip.TXT)docall:checkip%%i%%j10000
gotobegin
:checkip
@echooff
PING%1-n1|FIND"TTL=">NUL
IFNOTERRORLEVEL1ECHO%1(%2)StatusOKat%TIME%
IFNOTERRORLEVEL1GOTONEXT
PING%1-n1-w3000|FIND"TTL=">NUL
if%ERRORLEVEL%==1call:send%1%2ELSEECHO%1(%2)StatusOKat%TIME%
:Next
sleep%3
gotoend
:send
@echooff
ECHO%1(%2):::::StatusERRORat%TIME%:::::
for/F"eol=;"%%iin(user.TXT)donetsend%%i"ErrorPinging%1(%2).">NUL
Beep1500500
Beep500500
Beep1500500
Beep500500
gotoend
:end
@echooff
for/F"eol=;tokens=1,2*delims=="%%iin(ip.TXT)docall:checkip%%i%%j0
echo--------------------------------------------------------------
echo----第一轮检查完毕,如果没有听到报警声,表示各IP都可以PING通----
echo----如果有异常的IP,请再手动使用PING命令,以确认检查的正确性----
echo----现在进行循环检查,每隔10000ms检查一个IP----
echo--------------------------------------------------------------
:begin
for/F"eol=;tokens=1,2*delims=="%%iin(ip.TXT)docall:checkip%%i%%j10000
gotobegin
:checkip
@echooff
PING%1-n1|FIND"TTL=">NUL
IFNOTERRORLEVEL1ECHO%1(%2)StatusOKat%TIME%
IFNOTERRORLEVEL1GOTONEXT
PING%1-n1-w3000|FIND"TTL=">NUL
if%ERRORLEVEL%==1call:send%1%2ELSEECHO%1(%2)StatusOKat%TIME%
:Next
sleep%3
gotoend
:send
@echooff
ECHO%1(%2):::::StatusERRORat%TIME%:::::
for/F"eol=;"%%iin(user.TXT)donetsend%%i"ErrorPinging%1(%2).">NUL
Beep1500500
Beep500500
Beep1500500
Beep500500
gotoend
:end
本文地址:http://www.45fan.com/a/question/67163.html