• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:/var/log/maillogへのログの書き込み方法の設定に関して)

/var/log/maillogへのログの書き込み方法の設定に関して

このQ&Aのポイント
  • 質問文章全体の100文字程度の要約文を3つ作成し、文章の内容をまとめてください
  • メール送信用スクリプト実行時のメール送信処理を監視したい
  • Linuxでは、同様の設定(syslog->maillog)を行っても送信履歴の取得が行えない

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

tail -1f /var/log/syslog > ${監視用ログファイル} & この方法だと、killするまでの間はメール送信以外のログも監視用ログファイルに書き出されてしまうと思うのですが...(そういうレベルでOKということかな?) Linuxの場合、仰るようにmail.*というファシリティのログはすべて/var/log/maillog に書き出されます。Solarisではmail.debugが/var/log/syslog に書き出されます(手元のSolaris9では)。なのでtailでわざわざ書き出さなくてもすべて/var/log/maillog に出てるはずです。 また書き出しのタイミングも、(メール送信スクリプトがどう処理しているかにもよりますが)少なくともsmtpdに渡した時点で書き出しが始まっているはずです。 「送信履歴」というものがどのような内容かわからないのですが、何が出しているメッセージなのか、あるいはどんなファシリティで出しているかが判ればいろいろ対応方法も考えられるかもしれませんが、いずれにしても最初に書いたとおり、tailでログを取る手法はあまりエレガントな方法とは思えませんね...

uto1023
質問者

お礼

ご回答ありがとう御座いました。 確かにmaillogが存在しているのにわざわざtailコマンドで監視するのは 無駄かとも思いますが、あくまで実行時のログのみで構わないとのことで この手法をとりました。 (実行後、ファイル操作でmaillogの該当箇所を抜粋する方法もありましたが。。。) それで原因ですが、自己解決しました。 情けない話、メール送信時、自サーバではなく他のSMTPに直接接続していたためでした。。。 (Solaris時は、外部発信向けと内部発信向けで同じSMTPを使用していましたが、 Linux移行後、上記を使い分けています。) お騒がせ致しました。 また、今後、質問の際はより具体的な内容を提示を上行うよう致します。

関連するQ&A