[前の記事]« 環境変数にファイルの1行目の内容をそのまま格納するには
[次の記事]外部ファイルから1行ずつレコードを取得するには? »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「こんなことは可能ですか?」索引へ

バッチ処理でサーバの状況報告のメールを自動送信したい

120) メールの自動送信について フィーロ 2004/01/19(月) 16:13


初めて投稿させていただきますフィーロと申します。
今後とも宜しくお願い致します。

現在、サーバーのサービスが停止した時にバッチプログラムを起動し、
管理者にメール送信するという処理を行いたいと思っていますが、
全て自動でできるものなのでしょうか?

こちらの掲示板の過去ログではフリーソフトを使用したり
NET SENDコマンドを使用したりするようアドバイスが書かれていましたが、
前者はサーバーで設定する為、極力ソフトは入れたくないという
思いがあります。また後者はメッセージの送信先がPCを立ち上げていることを
前提にしていますので、PCが落ちている場合どうなるのか分かりません。
(サーバに無駄な負荷がかかるのでしょうか?)

#ちょっとわがまますぎる要望ですよね・・・(汗

SMTPサーバにTelnetでログインし、メールを送信するまではマニュアルで
できたのですが、コレを自動化したいと思っております。
FTPでしたら ftp -s:"ファイル名" のようなイメージです。

#TELNET < "設定ファイル"ってやったら怒られました(当たり前ですよね・・・)

どなたかご存知でしたらご教授ください。
宜しくお願い致します。



今回マニュアルでやった操作。
━━━━━━━━━━━━━━━━━━━━━━━━━
TELNET "SMTPサーバ名" 25      // ココまでDOS上
HELO "クライアント"         // ココからSMTPサーバ上

MAIL FROM :"送信元メールアドレス"
RCPT TO :"送信先メールアドレス"

DATA

"メール本文・・・"

.                  // メール送信

QUIT                // ココまでSMTPサーバ上

EXIT                // DOSプロンプト終了


122) Re:メールの自動送信について ふぇむ 2004/01/20(火) 01:59


>現在、サーバーのサービスが停止した時にバッチプログラムを起動し、
>管理者にメール送信するという処理を行いたいと思っていますが、
>全て自動でできるものなのでしょうか?

サービス監視をしたいサーバは、私の感覚では、重要な本番環境としてサーバ監視ソフト等をいれ、その設定にてサービス監視を行い、停止したときのトリガと してふるまいを記述するものだと思います。サーバ監視ソフトと同等のことを自らやろうとするのは労力の損でもありリスキーでもあると思います。そもそも、 「サービスの停止」の検知は大丈夫でしょうか? atコマンドでループしてチェックするイメージでしょうか?

それに目をつぶったとしても、直接SMTPプロトコルをハンドリングするのはさらに労力の損でありリスキーでもあると思います。今回Telnet先をクラ イアントとしてのSMTPプロトコルを手入力で行われたようですが、文字コードの変換もきちんと対処されたのでしょうか?またメール本文におけるエスケー プ処理などもケアされたのでしょうか?その他、SMTPを扱う諸般の要注意事項にのっとられたのでしょうか?
Telnet先はUNIXマシンですよね? であるならば、その環境できちんとメール環境を立ち上げて、rsh 等を利用しUNIX上から /usr/lib/sendmail 等を利用したメール送信(mail や mailx等経由でもいい)を行うほうがまだよいと思います。Windows上から送付するにしても、SMTPクライアント経由で実行したほうがよいので は。

それらにも目をつぶったとして。telnet先でスクリプトを実行させたいならば、Telnetクライアント側でスクリプティング機能を持っていればそれ を使うのが安定的です。標準入力からの流し込み的にやろうとするならば、DOSコマンドスクリプトでは苦しく、UNIXのシェルスクリプトベースなら手は あったと思います。

どうしても通常の使い方がいやで、変則的な手作りにこだわるならば、Ruby等のもっと表現力がありクラスライブラリもそろったスクリプトを利用するほうがよいと思うのですが。



124) Re2:メールの自動送信について フィーロ 2004/01/20(火) 08:49


ふぇむ様

アドバイスありがとうございます。

サーバの監視につきましては、トラブルがあったときにも
すぐ対応できるようにサーバルームにて自分の仕事をして
います。また、毎朝のマニュアルによるチェックやサーバ
監視ソフト(ウィルスやハードウェア的なもの)を使用して
いますが、先日Print Spoolerサービスが停止し、ユーザ
から印刷ができないとの問合せを受けて初めて気づきました。

それで問合せが来る前に何とかならないかと思い、
標記の件が簡単にできないものかと思ったという経緯です。

>「サービスの停止」の検知は大丈夫でしょうか?

サーバはWindows2000Serverを使用していますが、
サービスが落ちた時にどのように対処するかを
標準で指定できるようになっています。
そこでプログラム指定というものがありましたので
バッチプログラムを指定してメールを出そうと
思ったのですが、私が思っていた以上に問題は
あるのですね・・・。調査不足でした。
本件につきましては別の対応で処理したいと思います。

お手数おかけしました。
また、今後とも宜しくお願い致します。


141) Re3:メールの自動送信について oo 2004/01/23(金) 23:01


そういう使い方であれば、net send でいいんじゃないでしょうか?
ログオンして無いとサーバ側ではnetコマンドがエラー終了しますけど、別に不都合は無いと思うんですけど。
 
 


カテゴリー「こんなことは可能ですか?」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2004年01月19日 23:18に投稿されたエントリーのページです。

ひとつ前の投稿は「環境変数にファイルの1行目の内容をそのまま格納するには」です。

次の投稿は「外部ファイルから1行ずつレコードを取得するには?」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート