サービスの稼動チェック
0.改定履歴
- 1999.11.11 初版
1.はじめに
このドキュメントでは,WindowsNTのサービスが稼動しているか否かをチェックするバッチプログラムのサンプルを示す.
2.用意するもの
以下のサンプルを実行するためには,NT4.0 リソースキットが必要なので,あらかじめインストールしておく.
3.サンプル
以下のサンプルソースでは,IISのサービスを起動して,それが正しく起動しているかをチェックし,結果をイベントログに書き出す.
@echo off rem サービスを起動する net start "World Wide Web Publishing Service" rem 10秒待つ sleep 10 rem 稼動しているサービスの一覧を取得 net start > d:\temp\serverlist.txt rem サービスが稼動しているか調査する find /c "World Wide Web Publishing Servic" d:\temp\serverlist.txt if errorlevel=1 goto :NAKATTA if errorlevel=0 goto :ATTA goto :EOF rem サービスがあった場合 :ATTA logevent -m \\NT_SRVR -c 9101 -s i "IISは起動してます" goto :EOF rem サービスがなかった場合 :NAKATTA d:\ntreskit\logevent -m \\deskpro -c 9101 -e f "IISは終了しています" goto :EOF |
4.解説
- net startコマンドで,サービスを起動する.
- すでに稼動しているサービスをチェックするならば,これは不要
- sleepで,サービスの初期処理が終了するまで待機.
- net startコマンドをパラメータで無しで入力する事で,現在稼働中のサービス一覧を取得し,その結果を一時的にテキストファイルに入れる.
- テキストファイルの中にターゲットのサービスがあるかを,findコマンドを使って検索する.
- findの結果により,logeventコマンドを使って,イベントログにメッセージを書き出す.
- 該当する文字列がなければ,Errorlevelに1が返却される.
- 「起動してない」とメッセージを書き出す.
- 該当する文字列があれば,Errorlevelに0が返却される.
- 「起動してない」とメッセージを書き出す
- 該当する文字列がなければ,Errorlevelに1が返却される.