Web服务检测的批处理程序(Win10x64测试)
(代码功能:检测与百度站点之间的网络连接是否正常,否则进行指定操作)
直接上代码:
@echo off
:loop
setlocal
rem 定义初始状态
set "sta1=0"
rem 使用 wget 检测Web服务状态
for /f "delims=" %%i in ('wget --spider -S "https://www.baidu.com" 2^>^&1 ^| findstr /i "HTTP/1.1 200 OK"') do (
set "sta1=1"
)
rem 检测成功
if %sta1%==1 (
rem 打印信息
echo Web Service is running,检测时间:%date% %time%。
echo Web Service is running,检测时间:%date% %time%。 >> run.log
rem 延时 30 秒
timeout /T 30 >nul
rem 结束局部环境
endlocal
rem 继续循环
cls
goto loop
)
rem 检测失败
if %sta1%==0 (
rem 打印信息
echo Web Service 正在重新启动,请稍等2分钟,此期间不要做任何键盘鼠标操作!!!倒计时结束后反馈服务状态~~~检测时间:%date% %time%。
echo Web Service 正在重新启动,请稍等2分钟,此期间不要做任何键盘鼠标操作!!!倒计时结束后反馈服务状态~~~检测时间:%date% %time%。 >> run.log
rem 下方添加需要执行的命令
rem 延时 120 秒
timeout /T 120
)
rem 结束局部环境
endlocal
rem 继续循环
cls
goto loop
注意事项:
检测机制:通过wget命令获取http响应,如果包含200,则返回服务正常,否则,执行指定命令。同时将日志记录到相同目录下run.log中。
具体执行命令写在”rem 下方添加需要执行的命令“下方空白处。
批处理文件在C盘时,执行时,需使用管理员权限!!!!其他盘下不需要。
wget文件为x64执行文件,需存放在C:\windows目录下。