お久しぶりです。
以下がtomcatを定期的に再起動するスクリプトです。
最大試行回数を3回にしており、うまくいかない場合は3度まで実行してくれます
@echo off
rem -------------------------------------------------
rem サービスの再起動用batファイル
rem -------------------------------------------------
rem # 再起動サービス名
set SERVICE="Tomcat8"
rem # ログ出力パス
set LOG=c:\restart_service.log
rem # 最大試行回数
set MAX_TRIES=3
rem # 実行日時出力
echo ---------- >> %LOG%
date /t >> %LOG%
time /t >> %LOG%
rem # 最大試行回数までループ
set /a TRIES=0
:LOOP
set /a TRIES+=1
echo %TRIES%回目の試行を開始します。 >> %LOG%
rem # 対象サービス停止コマンド実施
net stop %SERVICE% >> %LOG%
rem # 対象サービス停止エラー判定
if %errorlevel%==0 goto STOP_OK
rem # エラー時
echo サービス終了時にエラーが発生しました。 >> %LOG%
echo エラー番号:%errorlevel% >> %LOG%
net helpmsg %errorlevel% >> %LOG%
rem # タイムアウト処理
if %TRIES%==%MAX_TRIES% (
echo 最大試行回数を超えました。処理を中止します。 >> %LOG%
goto END
)
echo 10秒後に再試行します... >> %LOG%
ping -n 11 127.0.0.1 >nul
goto LOOP
rem # 正常時
:STOP_OK
echo サービスを停止しました。 >> %LOG%
echo. >> %LOG%
rem # 対象サービス開始コマンド実施
net start %SERVICE% >> %LOG%
if %errorlevel%==0 goto START_OK
rem # エラー時
echo サービス開始時にエラーが発生しました。 >> %LOG%
echo エラー番号:%errorlevel% >> %LOG%
net helpmsg %errorlevel% >> %LOG%
rem # タイムアウト処理
if %TRIES%==%MAX_TRIES% (
echo 最大試行回数を超えました。処理を中止します。 >> %LOG%
goto END
)
echo 10秒後に再試行します... >> %LOG%
ping -n 11 127.0.0.1 >nul
goto LOOP
rem # 正常時
:START_OK
echo サービスを開始しました。 >> %LOG%
echo. >> %LOG%
rem # 処理終了
:END
echo 処理終了時刻 >> %LOG%
time /t >> %LOG%
echo. >> %LOG%
コメント