web-dev-qa-db-ja.com

cronjobが失敗した場合、cronはmsmtpを使用して電子メールを送信しません

エラーが発生した場合にcronジョブの1つが何かを出力した場合に電子メールを送信するように、マシンを構成しようとしています。

  • 私はDebianWheezyを使用しています。
  • Cronは正常に動作しています(電子メール機能なし)。
  • msmtpがインストールおよび構成されます。/usr/{bin | sbin}/sendmailを/ usr/bin/msmtpにすでにシンボリックリンクしています。

以下を使用してメールを送信できます。

echo "test" | mail -s "subject" [email protected]

または実行することによって:

echo "test" | /usr/sbin/sendmail

シンボリックリンク(/ usr/sbin/sendmail)がないと、cronは次のように通知します。

(CRON) info (No MTA installed, discarding output)

私が得るシンボリックリンクで:

(root) MAIL (mailed 1 byte of output; but got status 0x004e, #012)

Cron/msmtpペアを構成する方法を提案できますか?

ありがとう!

編集:

注:「msmtpd」を誤って記述しました。これはデーモンではなく、「msmtp」という名前のSMTPクライアントです(「d」で終わることはありません)。オンデマンドで実行され、常にバックグラウンドで実行されているわけではありません。

このようにmsmtpを使用してメールを送信しようとすると、次のように機能します。

echo "test" | msmtp [email protected]

反対側では、SMTPサーバーのログで次のように読みました。

Nov  2 09:26:10 S01 postfix/smtpd[12728]: connect from unknown[CLIENT_IP]
Nov  2 09:26:12 S01 postfix/smtpd[12728]: 532301C318: client=unknown[CLIENT_IP], sasl_method=CRAM-MD5, [email protected]
Nov  2 09:26:12 S01 postfix/cleanup[12733]: 532301C318: message-id=<>
Nov  2 09:26:12 S01 postfix/qmgr[2404]: 532301C318: from=<[email protected]>, size=191, nrcpt=1 (queue active)
Nov  2 09:26:12 S01 postfix/local[12734]: 532301C318: to=<[email protected]>, orig_to=<[email protected]>, relay=local, delay=0.62, delays=0.59/0.01/0/0.03, dsn=2.0.0, status=sent (delivered to command: IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #1001)
Nov  2 09:26:12 S01 postfix/qmgr[2404]: 532301C318: removed
Nov  2 09:26:13 S01 postfix/smtpd[12728]: disconnect from unknown[CLIENT_IP]

そして、Eメールはターゲットユーザーに配信されます。したがって、msmtpクライアントは正しく機能しているように見えます。

それはcron/msmtp統合の何かでなければなりませんが、それが何であるかはわかりません。手伝って頂けますか?

2
Glister

解決策は、(crontab -eを呼び出して)ユーザーのcron構成に次のように追加することでした。

CRONARGS=-m/usr/bin/msmtp
1
Glister

質問で説明したのとまったく同じシナリオがありましたが、現在の回答では問題は解決しませんでした。私の場合、問題の説明は、cronsendmailコマンドを実行するたびに、$HOME/ではなく/home/<user>に設定していたことでした。 。したがって、msmtpがシンボリックリンクを介してsendmailを置き換えたとしても、$HOME/.msmtprcにあるユーザー固有の構成ファイルを見つけることができませんでした。

私の[〜#〜]解決策[〜#〜]は、/etc/msmtprcの代わりに$HOME/.msmtprcを使用することでした。

これは、/etc/msmtprcからの機密データの一部を他のユーザーが読み取れるようにする可能性があるため、システムに最適なソリューションではない可能性があります。

詳細はこちら: http://comments.gmane.org/gmane.linux.debian.devel.bugs.general/671011

0
sd1074