スケジュールしたジョブの結果がcronからメールで送信されないようにするにはどうすればよいですか?
スケジュールしたジョブの結果がcronからメールで送信されないようにするにはどうすればよいですか?
回答:
cronは、stdout
またはのいずれかの出力がある場合にのみメールを送信しますstderr
。
それがあなたが書いたスクリプトである場合、それをより簡潔にしてください-不要なecho
or print
ステートメントを削除してください。リダイレクトstdout
にすること/dev/null
も有効なソリューションです。
2 * * * * /my/script > /dev/null
あなたはまだそれを実行した後、メッセージを取得した場合、出力はオンになっているstderr
ので、それは、必要がある、あなたがリダイレクトすることができない場合は...解決すべきエラー、ことstderr
に/dev/null
して。..
2 * * * * /my/script > /dev/null 2> /dev/null
..ただし、エラーメッセージを無視することは、一般に悪い考えです。(cronジョブが壊れていることをどうやって知るのですか?)
特定のコマンドの出力をstderrからstdoutにリダイレクトすることができます2>&1
-たとえば:
command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout
..thenダイレクトstdout
に/dev/null
エラーメッセージを失うことなく、あなたが大声でコマンドを黙らそのように-あなたのcronジョブに