나는 이 질문을 슈퍼유저 커뮤니티에 게시했지만 아마도 이 포럼이 내 문제에 더 적합할 것입니다.
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에 넣으라고 말합니다. 그게 다야. 메시지가 처리되었으며 두 번째 및 세 번째 줄은 더 이상 재생되지 않습니다.
cron
메시지를 보내려면 처음 두 줄을 삭제(주석 처리)하고 세 번째 줄만 유지해야 합니다./var/log/cron.log
완전히 무시 하고 싶다면 cron
"stop"이라는 마법의 단어를 사용할 수 있습니다.
cron.* stop
더 많은 정보를 원하시면 방문 man 5 rsyslog.conf
하셔서man 3 syslog