说明:
一段用来监控服务器是否能够正常连接的windows批处理脚本。
如果连不通会发送到指定邮箱一封邮件,另外在恢复后会再发一封。
需要自己修改脚本的这些变量:
1、被监视服务器的IP地址;
2、接收邮件的邮箱地址;
3、发送邮件的smtp信息;
运行时的截图:
代码:
:: 说明:在windwos操作系统中以ping方式监控服务器运行状态 :: 如果故障会给指定邮箱发邮件(喜欢飞信机器人的朋友可以自己修改代码) :: 日期:15:00 2012-03-17 周六 :: 用法:修改第6行的IP后打开后放那不用管它 @echo off set svrIp=116.255.205.145 set signDir=%TEMP% set emailToAddress=blog@upall.cn set emailServer=smtp.qq.com set emailUser=send@upall.cn set emailPwd=xxxxxxxxx set signStop=%signDir%\%svrIp%.stop title Service Status Monitor [%svrIp%] :begin ping %svrIp% -n 1 >nul if "0"=="%errorlevel%" ( goto isRunning ) else goto isStop goto begin rem 如果ping得通就执行这里的操作 :isRunning if exist %signStop% goto resume echo [%date% %time%] [%svrIp%] 正常运行中.... goto begin rem 如果Ping不通则执行这里的操作 :isStop if not exist %signStop% goto isStopFirst echo [%date% %time%] [%svrIp%] 依旧宕机。 goto begin :isStopFirst echo %date%%time% > %signStop% && echo [%date% %time%] [%svrIp%] 宕机了,正在发送宕机邮件.... febootimail.exe -SERVER %emailServer% -TIMEOUT 1200 -PRIORITY 1 -AUTH LOGIN -USER %emailUser% -PASS %emailPwd% -FROM %emailUser% -TO %emailToAddress% -SUBJECT "服务器[%svrIp%]宕机,%date% %time%" -TEXT "服务器故障:【%svrIp%】。命令执行时间:%date% %time% <br />" -HTML -CHARSET GBK goto begin :resume del /q %signStop% && echo [%date% %time%] [%svrIp%] 恢复正常,正在发送恢复邮件.... febootimail.exe -SERVER %emailServer% -TIMEOUT 1200 -PRIORITY 1 -AUTH LOGIN -USER %emailUser% -PASS %emailPwd% -FROM %emailUser% -TO %emailToAddress% -SUBJECT "服务器[%svrIp%]恢复正常,%date% %time%" -TEXT "服务器恢复正常:【%svrIp%】。命令执行时间:%date% %time% <br />" -HTML -CHARSET GBK goto begin
下载:
<完>