ジョブが失敗した場合、crontabは電子メールを送信しません

ジョブが失敗した場合、crontabは電子メールを送信しません

Debianにはクローンアクションがあります。

1 * * * * /home/paradroid/bin/myscript.sh >/dev/null

MTAがインストールされ設定されていて、スクリプトに構文エラーがある場合は電子メールが届くため、問題が発生した場合は常に通知を受け取ると思いました。

curlこのスクリプトはプロキシ経由でファイルをダウンロードします。プロキシは最近期限切れになり、ダウンロードcurlできません。これはスクリプトの最後のコマンドであり、エラーコード7で終了しました。

これが発生した場合は電子メールを受け取ると思いましたが、そうではありませんでした。

スクリプトの構文エラーと同じ場合、電子メール通知を受け取りますが、スクリプトが操作を実行できず、エラーコードで終了した場合に電子メール通知を受け取らないのはなぜですか?

ここに問題はありますか?それとも、エラーが発生したときにスクリプトに自分に電子メールを送信させる必要がありますかcurl

ベストアンサー1

私はあなたのcronの電子メール設定がすべて正確で電子メールを受信して​​いると仮定します。

すべてのstdoutがstdoutに送信される/dev/nullため、エラーメッセージを印刷するすべてのエントリはそれをstderrに出力する必要があります。スクリプトの内容がすべて正しく出力されていることを確認したい場合があります。

時には、すべてを標準出力に送信するサードパーティのコードを使用する必要があります。この場合、私は通常エラーチェックを行います。きれいではありませんが、ほとんどのシェルスクリプトも同じです。

おすすめ記事