追加の設定を使用してrsyslogがcronジョブを/var/log/syslogに書き込むのを防ぐ方法

追加の設定を使用してrsyslogがcronジョブを/var/log/syslogに書き込むのを防ぐ方法

cron操作に使用されるDockerイメージがあります。 Dockerfileは次のようになります。

FROM php:8.0-fpm

RUN apt-get update
RUN apt-get install -y cron rsyslog

RUN touch /var/log/cron.log
RUN chmod 0777 /var/log/cron.log

COPY ./app /var/www/app
COPY crontab /etc/cron.d/crontab
RUN chmod 0644 /etc/cron.d/crontab
RUN crontab /etc/cron.d/crontab

COPY 02-cron.conf /etc/rsyslog.d/02-cron.conf

CMD service rsyslog start && service cron start && tail -f /dev/null

デフォルトでは、rsyslogはcronを/var/log/syslogに書き込みます。 cronを別のファイル/var/log/cron.logに記録したいと思います。

rsyslog /etc/rsyslog.conf のデフォルト設定には次の行があります。

*.*;auth,authpriv.none      -/var/log/syslog
#cron.*             /var/log/cron.log

/etc/rsyslog.d/02-cron.conf設定を追加して/var/log/syslogのcronロギングを無効にし、/var/log/cron.logのロギングを有効にしたいと思います。

*.*;cron,auth,authpriv.none     -/var/log/syslog
cron.*                          /var/log/cron.log

ただし、結果は/var/log/syslogおよび/var/log/cron.logのcronロギングです。

答え1

構成の行:

*.*;cron,auth,authpriv.none     -/var/log/syslog

次のようにしてください。

*.*;cron.none,auth,authpriv.none     -/var/log/syslog

cronログインを停止syslog

記録するたびにバッファがフラッシュされるのを防ぐために、ログパスの-前にダッシュ()を追加することもできます。cronしたがって、クローンラインは次のようになります。

cron.*                          -/var/log/cron.log

関連情報