web-dev-qa-db-ja.com

rootユーザーへのcronジョブのメール送信を無効にする方法

/etc/cron.d/Apache2watchファイルに次の行があります

* * * * * root /bin/Apache2-restart.sh &> /dev/null

このため、現在、root宛てに何百通ものメールを受信して​​います。出力を/ dev/nullに明確にリダイレクトしたにもかかわらず、rootがまだ毎秒メールを受信して​​いる理由がわかりません。cronジョブが実行されたことを通知します。

Rootがメールを受信し続ける理由と、この動作を変更する方法を誰かが説明できますか?

Ubuntu 10.04LTSで実行しています

4
oompahloompah

標準出力を/ dev/nullにリダイレクトしただけの可能性があるため、まだメールを受信して​​います。シェルスクリプトはおそらくstderrにも書き込むので、正しいリダイレクトは次のようになります。

* * * * * root /bin/Apache2-restart.sh > /dev/null 2>&1
7
thor

挿入MAILTO=""行をcrontabする前。

7
lg.

特定のユーザーのここで 'root' crontabにMAILTO = ""を設定しないのはなぜですか。これにより、/ var/pool/mail /へのメールメッセージのログが無効になります。

2
lalit

出力を/ dev/nullにリダイレクトしましたが、これはcrontabシェルとしてbashを使用している場合のみです。デフォルトでは/ bin/shを使用していると思います。

それを修正するには、トールの解決策をお勧めします:

* * * * * root /bin/Apache2-restart.sh > /dev/null 2>&1

もう1つの解決策は、crontabエントリの先頭にこれを配置することにより、CRONを変更してbashを使用することです。

Shell=/bin/bash
1
chrishiestand