cronログがsyslogに送信されるのを防ぐ方法は?

cronログがsyslogに送信されるのを防ぐ方法は?

私はこの質問をスーパーユーザーコミュニティに投稿しましたが、おそらくこのフォーラムは私の問題に適しています。

syslogサーバーにログを送信していますが、そこのcronログが必要以上にスペースを占めています(そして見る必要はありません)。毎時間、次のメッセージが表示されます。

starting 0anacron
finished 0anacron

次のような他のメッセージ

(CRON) ERROR chdir failed

rsyslog 構成ファイルに入ろうとしたところ、ほとんどのログが /var/log/rsyslog にあることがわかりました。オンラインで見つけた情報によると、次のことが提案されたので、rsyslog設定に次の行を追加しました。

cron.none.*                                             -/var/log/rsyslog
cron.*                                                  -/var/log/rsyslog
cron.*                                                  -/var/log/cron.log

rsyslogを再起動しましたが、syslogサーバーはcronログを受信し続けます。各行の「cron」部分の前に追加しようとしましたが、*.*;それも機能しませんでした。これは私のrsyslog設定ファイルにもあります。

*.cron.none                                                 /var/log/messages

しかし、何も動作しません。私のsyslogサーバーに表示されないようにcronログを停止する方法を知っている人はいますか?

答え1

rsyslog 構成の行順序が重要です。

cron.none.*                                             -/var/log/rsyslog
cron.*                                                  -/var/log/rsyslog
cron.*                                                  -/var/log/cron.log

最初の行は、cronのメッセージを(優先順位に関係なく)同期せずに/ var / log / rsyslogに入れるように言います。それはすべてです。メッセージが処理され、2行目と3行目は再生されなくなりました。

cronメッセージを送信するには、最初の2行を削除(コメント)し、3行目のみを保持する必要があります。/var/log/cron.log

完全に無視したい場合は、cron「stop」という魔法の単語を使用できます。

cron.*   stop

より多くの情報が必要な場合は訪問してman 5 rsyslog.confくださいman 3 syslog

関連情報