[CentOS6][SOS JobScheduler] メール送信の設定


Create: 2013/03/15
LastUpdate: 2013/03/15
[ メニューに戻る ]

ここでは、下図の環境を使用します。
環境の詳細を知りたい場合は、メニューに戻って構築手順を参照してください。

JobScheduler では、ジョブの実行結果などをメールで送信することができます。
今回は、ジョブが正常終了したらメールを送信してみます。

1.JobScheduler のメール設定


JobScheduler が使用する SMTPサーバなどメール関連の設定は、Managerサーバの以下のファイルで設定します。
  • /home/jobs/sos-berlin.com/jobscheduler/scheduler/config/factory.ini
送信内容(エラー、成功など)、宛先、SMTPサーバ、メールキューは以下のパラメータで指定します。
メールキューには、送信に失敗したメールが保管されます。
;                         send mail with job log in case of error (yes|no, default: no)
mail_on_error           = yes
;                         send mail with job log in case of errors and warnings (yes|no, default: no)
mail_on_warning         = yes
;                         send mail with job log in case of success (yes|no, default: no)
mail_on_success         = no
;                         send mail with job log in case of process steps (yes|no|1|2|n, default: no)
mail_on_process         = no

;                         sender and recipients for mails with job logs
log_mail_from           = jobs@localhost
log_mail_to             = jobs@localhost
log_mail_cc             =
log_mail_bcc            =

;                         mail server hostname
smtp                    = localhost
;                         directory in which mails are stored if your mail server is not available
mail_queue_dir          = ${SCHEDULER_DATA}/mail
SMTPサーバのポート番号、認証アカウントは、以下のパラメータで指定します。
[smtp]
mail.smtp.user          =

mail.smtp.password      =

mail.smtp.port          = 25
今回は、上記設定のように、SMTPサーバに localhost (Manager) の postfix を使用します。
また、システム全体のデフォルトとして、ジョブのエラー、ワーニング時に localhost (Manager)の jobsユーザにメールを送信するよう設定します。
ちなみに、メールの宛先などは、あとでジョブ定義するときに、ジョブごとに設定できます。

2.Postfixの設定


今回は、ManagerサーバのPostfixは、CentOS6のデフォルト設定で使用します。

3.DNS関連の設定


今回は、DNSサーバは使用せず、hosts で名前解決します。
/etc/resolv.conf には、何も定義しません。
/etc/hosts ファイルには、Managerサーバのホスト名を定義します。
定義内容は、以下のとおり。(赤字部分がManagerサーバ)
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.61 centos6 centos6.localdomain

ホスト名とIPアドレスの名前解決ができないと、JobSchedulerからのメール送信に失敗して、/var/log/maillog に以下のようなメッセージが記録されます。
Mar 15 10:20:13 centos6 postfix/smtpd[12476]: connect from localhost[127.0.0.1]
Mar 15 10:25:13 centos6 postfix/smtpd[12476]: timeout after HELO from localhost[127.0.0.1]
Mar 15 10:25:13 centos6 postfix/smtpd[12476]: disconnect from localhost[127.0.0.1]


4.ジョブの設定


JOEで下図のように、[Job Settings] でメール送信の設定を行います。
今回は、ジョブが正常終了したら、"jobs@localhost" 宛てにメールするように設定します。
>

5.メールの確認


JOCでジョブを即時実行して正常終了するとメールが送信されます。
ジョブの即時実行の手順については、 メニュー  を参照してください。
Manage サーバに jobsユーザでログインし、mail コマンドを実行すると、下図のように受信したメールの一覧を参照できます。
このままENTERすると、メールの内容が表示されます。


下図は、JobSchedulerから送信されたメールの内容です。
続けて読む場合はENTERします。


メール表示が終わると "&" プロンプトが表示されます。
"d" を入力してENTERするとメールが削除されます。
"q" を入力して ENTER すると終了します。