宕机重启服务监测

@echo off



rem 定义循环间隔时间和监测的服务
set secs=60

set srvname="Apache2.2"

echo.

echo ========================================

echo ==    查询计算机服务的状态            ==

echo ==    每间隔%secs%秒种进行一次查询        ==

echo ==    如发现其停止 则立即启动         ==

echo ========================================

echo.

if %srvname%. == . goto end
 


:chkit

echo.

echo %date:~0,10% %time:~0,8%

set svrst=0

for /F "tokens=1* delims= " %%a in ('net start') do (
    if /I "%%a" == %srvname% set svrst=1
)

if %svrst% == 0 (
    echo 服务已宕机,正在为您重新启动服务【%srvname%】
    net start %srvname%
    timeout /t %secs%
    timeout /t %secs%
    timeout /t %secs%
    timeout /t %secs%
    timeout /t %secs%
    timeout /t %secs%
    timeout /t %secs%
    timeout /t %secs%
    timeout /t %secs%
    timeout /t %secs%
) else (
    echo 服务运行正常【%srvname%】
)

rem 下面的命令用于延时,否则可能会导致cpu单个核心满载。
timeout /t %secs%

goto chkit
 


:end
原文地址:https://www.cnblogs.com/LcxSummer/p/9676079.html