質問: シェルスクリプトとmaillogの関係 以下のようなシェルスクリプトを1時間ごとにcronで動かしています。 #!/bin/sh php -f check.php > result exit その結果、/var/log/maillogに、root宛てと思われる記録がシェルスクリプトと同じ1時間ごとに記録されるようになってしまいました。 maillogにその記録を残さないようにするにはどのようにしたらいいのでしょうか。 シェルスクリプトの書き方がおかしいのでしょうか。 よろしくお願いいたします。
回答: コマンドの出力があれば、メールで通知されます。出力が無ければメールは発生しません。 root宛てに届いているはずで、そのメールにおそらくphpのエラーメッセージが書いてあると想います。 それを見て check.php を修正してください。 スクリプトはそれで正常です。 エラーメッセージがどうしても消せない場合は、 #!/bin/sh php -f check.php > result 2>/dev/null exit とすれば、エラーメッセージを捨てることができますが、あとでわからなくなるので、 #!/bin/sh php -f check.php > result 2> error-message exit のようにファイルに保存する方が良いでしょうね。