计算机/网络设备状态监测脚本 批处理

所属分类: 脚本专栏 / DOS/BAT 阅读数: 1713
收藏 0 赞 0 分享
以前自己写的一个监控脚本,每隔10秒使用PING命令检查一个IP列表中的IP,如果不通,则通过messenger消息发送,并使用BEEP发出报警声。需要文件sleep.exe(可到网上下一个)、BEEP.EXE(自己用DELPHI写的,不必需,代码可去掉,也可以去网上找一个),再建立文件ip.txt,user.txt,运行脚本即可。

复制代码 代码如下:

rem main.bat 
@echo off 
for /F "eol=; tokens=1,2* delims==" %%i in (ip.TXT) do call :checkip %%i %%j 0 
echo -------------------------------------------------------------- 
echo ----第一轮检查完毕,如果没有听到报警声,表示各IP都可以PING通---- 
echo ----如果有异常的IP,请再手动使用PING命令,以确认检查的正确性---- 
echo ----       现在进行循环检查,每隔10000ms检查一个IP         ---- 
echo -------------------------------------------------------------- 
:begin 
for /F "eol=; tokens=1,2* delims==" %%i in (ip.TXT) do call :checkip %%i %%j 10000 
goto begin 

:checkip 

@echo off 
PING %1 -n 1 | FIND "TTL=" >NUL 
IF NOT ERRORLEVEL 1 ECHO %1(%2) Status OK at %TIME% 
IF NOT ERRORLEVEL 1 GOTO NEXT 
PING %1 -n 1 -w 3000 | FIND "TTL=" >NUL 
if %ERRORLEVEL%==1 call :send %1 %2 ELSE ECHO %1(%2) Status OK at %TIME% 
:Next 
sleep %3 
goto end 

:send 
@echo off 
ECHO %1(%2):::::Status ERROR at %TIME%::::: 
for /F "eol=;" %%i in (user.TXT) do net send %%i "Error Pinging %1(%2)." >NUL 
Beep 1500 500 
Beep 500 500 
Beep 1500 500 
Beep 500 500 
goto end 

:end 
;ip.txt,关键IP,一行一个IP,等号后面可输入名称
192.168.0.1=集团网关
192.168.0.123=test

;user.txt,计算机名或IP,检测到网络不通时,发送消息给文中的用户
computername

更多精彩内容其他人还在看

Cls 清除命令提示符窗口

Cls 清除命令提示符窗口
收藏 0 赞 0 分享

Cmd 启动命令解释器 Cmd.exe 的新实例

Cmd 启动命令解释器 Cmd.exe 的新实例
收藏 0 赞 0 分享

Cmstp 安装或删除“连接管理器”服务配置文件

Cmstp 安装或删除“连接管理器”服务配置文件
收藏 0 赞 0 分享

color 对于当前会话,更改命令提示窗口的前景和背景色

color 对于当前会话,更改命令提示窗口的前景和背景色
收藏 0 赞 0 分享

配置命令提示符的方法

配置命令提示符的方法
收藏 0 赞 0 分享

Comp 逐字节地比较两个文件或几组文件的内容

Comp 逐字节地比较两个文件或几组文件的内容
收藏 0 赞 0 分享

Compact 显示和更改 NTFS 分区上的文件或目录压缩

Compact 显示和更改 NTFS 分区上的文件或目录压缩
收藏 0 赞 0 分享

Del (erase) 删除指定文件

Del (erase) 删除指定文件
收藏 0 赞 0 分享

Convert  将 FAT 和 FAT32 卷转换为 NTFS

Convert  将 FAT 和 FAT32 卷转换为 NTFS
收藏 0 赞 0 分享

copy 将一个或多个文件从一个位置复制到其他位置

copy 将一个或多个文件从一个位置复制到其他位置
收藏 0 赞 0 分享
查看更多