이 링크 를 따라 로그를 변경했습니다. -RHEL 6에 대한 구성 회전
구성 파일을 변경 한 후이를 적용하려면 어떻게해야합니까?
답변
logrotate
는 crontab
를 사용하여 작동합니다. 데몬이 아닌 예정된 작업이므로 구성을 다시로드 할 필요가 없습니다.
crontab
가 logrotate
를 실행하면 새 구성 파일을 자동으로 사용합니다.
구성을 테스트해야하는 경우 다음 명령을 사용하여 직접 logrotate
를 실행할 수도 있습니다.
logrotate /etc/logrotate.d/your-logrotate-config
또는 주석에서 언급했듯이 명령 출력에서 slm “의 답변 을 참조하여 정확한 cron.daily 설명을 제공합니다. logrotate
줄을 식별합니다. crontab -l
명령 줄을 실행하고
댓글
error: skipping "/var/log/syslog" because parent directory has insecure permissions (It's world writable or writable by group which is not "root" ...
" 구성 변경 후 20 시간 동안 마치 설정 / 프로세스가 캐시됩니다!? 거기에 갇혀 있다면 / var / log의 chgrp를 루트로, logrotate를 실행하고 chgrp를 syslog로 다시 실행하십시오. 다음 실행시 삭제됩니다.
답변
대부분의 logrotate
설정에는 /etc/cron.daily
가 부족합니다. “logrotate
라는 이름의 셸 스크립트가 있습니다.
예
$ ls -l /etc/cron.daily/logrotate -rwxr-xr-x 1 root root 180 May 18 2011 /etc/cron.daily/logrotate
수동 실행
수동으로 실행하려면 루트로 스크립트를 실행하면됩니다.
$ sudo /etc/cron.daily/logrotate
일반적으로있는 스크립트를 살펴보면 logrotate
수동으로 logrotate
+ 구성 파일 경로를 실행합니다.
#!/bin/sh /usr/sbin/logrotate /etc/logrotate.conf EXITVALUE=$? if [ $EXITVALUE != 0 ]; then /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" fi exit 0
답변
크론을 통해 자동이어야합니다. 변경 사항을 테스트하도록 강제 할 수 있습니다.
글로벌 logrotate :
sudo logrotate -v -f /etc/logrotate.conf
단일 conf 파일의 경우 :
sudo logrotate -v -f /etc/logrotate.d/someapp.conf
댓글
-
-f
강제 회전의 경우 디버그를위한-d
도 있습니다. 이는 드라 이런이기도합니다. 수행했을 모든 것을 인쇄하지만 실제로는 수행하지 않습니다.
Answer
nginx 용 logrotate를 설정하기위한 CentOS 6.5 시스템에서 다음을 수행해야했습니다.
logrotate /etc/logrotate.d/nginx
그런 다음 logrotate가 새 nginx 구성을 다음과 같이 처리하는지 확인했습니다.
cat /var/lib/logrotate.status
logrotate
의 cron 항목이 하루에 한 번 실행되도록 예약되어 있습니다.logrotate
에는-d
테스트 옵션 (또는 " 디버깅 "), I ' d 한 번 이상 실행하는 것이 좋습니다.su root syslog
입니다. 추가하지 않으면 logrotate가 중단됩니다. 사람들이 '의 좌절감을 없애기 위해 지시문을 추가 한 다음 logrotate를 실행 (강제)하면 계속해서 뱉어냅니다. div id = “6616b104ee”>