cron実行時の「/var/log/auth.log」への不要な書き込みを停止する

cron実行時にこのような内容で「/var/log/auth.log」が埋め尽くされている(ubuntu 20)

Apr 25 16:50:01 sv1 CRON[83123]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 25 16:50:02 sv1 CRON[83123]: pam_unix(cron:session): session closed for user root
Apr 25 16:51:01 sv1 CRON[83294]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 25 16:51:01 sv1 CRON[83294]: pam_unix(cron:session): session closed for user root
Apr 25 16:52:01 sv1 CRON[83538]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 25 16:52:01 sv1 CRON[83538]: pam_unix(cron:session): session closed for user root

1分毎にcronを実行しているのでなおさら酷い、特に必要もなさそうなので停止します。


rsyslogの設定変更

$ vi /etc/rsyslog.d/50-default.conf

以下の1行を追加する

:programname, isequal, "CRON" stop

シスログ再起動

$ systemctl restart rsyslog

「/var/log/auth.log」への書き込みが停止します。


ログを「/var/log/cron.log」に出力したい場合

※前半部の設定を取り消します「”CRON” stop」でCronのログは全て停止しています。

$ vi /etc/rsyslog.d/50-default.conf

以下の#cron部分のコメントアウトを外します。

#cron.*				/var/log/cron.log

シスログ再起動

$ systemctl restart rsyslog

うまく書き込まれない場合には、書き込み権限を与えてみてください。

$ chmod 646 /var/log/cron.log

※cron.logのログローテート設定が無いかもしれないので確認しましょう。