web-dev-qa-db-ja.com

cronジョブの後に電子メールを送信する方法

増分バックアップ用のcronジョブを追加し、次のように構成しました。

0 23 * * * /usr/bin/rsync -ravzX /mnt/external/project/ /media/backup/project/ | mail -s "Backup Success" [email protected]

でもメールが届きません。
何が問題なのかを知るにはどうすればよいですか?

11
Booth

CrontabのMAILTOオプションを使用して、電子メールアドレスを定義し、実行中のすべてのcronですべての出力とエラーを受信できます。

を使用してcrontabを開く

crontab -e

ファイルの上部で、MAILTOオプションを次のように使用します。

[email protected]

cronはMAILTO機能を探して、cronログの送信先を決定します。 cronがrootで実行されている場合、デフォルトでrootに送信されます。

それを上部に置き、cronからメールコマンドの参照を削除します。

この後にcronアラートを受信するかどうかをテストして確認します。

24
sandeep.s85

この場合の問題は、メッセージがGmailのスパムフォルダに配信されていたことです(これは常に確認する価値があります)。送信者を連絡先として追加すると、これを回避できます。

それとは別に、受信したメッセージの完全なヘッダーを見ると、なぜスパムとしてフラグが付けられたのか(そして、これを行わないようにフィルタリングに影響を与える方法)についての手掛かりが得られる場合があります。

2
Paul Haldane

FreeBSDの場合

1:ログを確認:

tail -f /var/log/cron
tail -f /var/log/maillog

2:sendmailをssmtp vi /etc/rc.confファイルに置き換えて、以下を追加します。

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

3:次のコマンドを起動します。

killall sendmail
cd /usr/ports/mail/ssmtp/
make install replace clean

4:ssmtp confファイルを編集します。

vi /usr/local/etc/ssmtp/ssmtp.conf

....次の行を追加します。

[email protected]
mailhub=smtp.example.com:465
RewriteDomain=example.org
UseTLS=YES
[email protected]
AuthPass=password222
FromLineOverride=YES
Hostname=yourhostname

5:次のコマンドを入力します。

echo ‘ssmtp_enable=“YES”’ >> /etc/rc.conf

pS ssmtp.confの他の説明されたオプションはここにあります:

http://www.techrepublic.com/blog/it-security/use-ssmtp-to-send-e-mail-simply-and-securely/

0
Denis Q.