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目录下。