スケジュールしたジョブの結果がcronからメールで送信されないようにするにはどうすればよいですか?
スケジュールしたジョブの結果がcronからメールで送信されないようにするにはどうすればよいですか?
回答:
cronは、stdoutまたはのいずれかの出力がある場合にのみメールを送信しますstderr。
それがあなたが書いたスクリプトである場合、それをより簡潔にしてください-不要なechoor 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ジョブに