サービスの監視
Ping のみでは Windows が稼動している事しか分からない為、「サービスがエラーになった時に何とか通報する仕組みができないか」調査してみました。
Windows 2000 では、サービスがエラーになった時に「ファイルの実行」をすることができるので、その機能を利用して携帯電話に E-mail を飛ばす様にしようと考えました。
バッチファイルで E-mail
を送信できるソフトが無いか探したところ、「BlatJ」というソフトを見つけました。
「BlatJ」は 株式会社ピーデー
のサイトからダウンロードできますが、注意書きをよく読んでください。
このサイトから配布されている tconv
0.8以上に含まれるtconvlib.dllが必要な場合があります。。
また、SMTP サーバが必要です。
構築方法
- 株式会社ピーデー から「tconv」をダウンロードし、適当なフォルダに解凍します。
- 解凍したフォルダの中から、tconvlib.dll を System_root (通常 C:\Windows\system32 など)にコピーする。
- 「BlatJ」をダウンロードし、適当なフォルダ(ここでは C:\MailMsg)に解凍します。
SMTPサーバーのホスト名と、送り元メールアドレスを登録する必要があります。下記の書式でコマンドプロンプトから実行して下さい。
BlatJ -install SMTPサーバーのホスト名 電子メール送り元アドレス- バッチファイルを作成します。
BlatJ の起動オプションとして、"-t" 以下が送信先メールアドレスです。その他のオプションについては、コマンドプロンプトから"BlatJ" と入力します。
(例) c:\MailMsg\blatj WWW Service 停止 -t xxxxxxxxxxxxxxx@yyyyyyy.zz.jp -s WWW_Server_停止
-t 以下は 送信先のメールアドレスです。
-s 以下は Subject です。但し、スペースが入るとその後が無視されてしまう為、アンダーラインを使用しました。
私が実際に作成したバッチファイル(C:\MailMsg\MailMsg_WWW.bat)
@echo on
setlocal
set tempfile=c:\temp\MailMsg.txt
echo WWW SERVER > %tempfile%
time /t >> %tempfile%
echo WWW Service 停止 >> %tempfile%
c:\MailMsg\blatj %tempfile% -t xxxxxxxxxxxxxxx@yyyyyyy.zz.jp -s WWW_Server_停止
endlocal
- サービスのプロパティの中の「回復」タブの中を設定します。1回目のエラーが発生したときに「ファイルの実行」に指定されているバッチファイルを実行します。
BlatJ のオプションを調べたいときは、コマンドプロンプトから "BlatJ" と入力してください。
< お願い >