추가 구성을 사용하여 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

관련 정보