여러 Centos 서버에서 logrotate 작업을 수행하고 있습니다. 새 서버의 설정은 약간 다르며 어떤 이유로 logrotate가 httpd 서비스에서 작동하지 않습니다. 수동으로 시작하면 예상대로 작동합니다. 지난주에 설정했는데 4일 동안 한 번도 실행되지 않았습니다.
/etc/cron.daily/logrotate 파일이 존재하므로 cron 작업은 매일 실행되어야 할 것 같습니다.
/etc/logrotate.conf의 내용
# 자세한 내용은 "man logrotate"를 참조하세요. # 매주 로그 파일을 교체합니다. 주간 # 4주간의 백로그를 유지하세요 스핀 4 # 이전 로그 파일을 교체한 후 새(비어 있는) 로그 파일을 생성합니다. 만들다 # 회전된 파일의 접미어로 날짜를 사용합니다. 날짜 텍스트 # 로그 파일을 압축하려면 주석을 해제하세요. #압축 # RPM 패키지는 로그 회전 정보를 이 디렉터리에 저장합니다. /etc/logrotate.d 포함 # wtmp 및 btmp가 있는 패키지가 없습니다. 여기에서 이들을 회전하겠습니다. /var/log/wtmp { 달마다 0664 루트 utmp 생성 최소 크기 1M 스핀 1 } /var/log/btmp { 미속 달마다 0600 루트 utmp 생성 스핀 1 } # 시스템별 로그도 여기에서 구성할 수 있습니다.
/etc/logrotate.d/httpd의 내용. 나는 이것이 logrotate.conf 설정을 무시할 것이라고 생각합니다.
/var/log/httpd/*log { 일일 압축 스핀 20 미속 알림이 비어 있음 스크립트 공유 지연된 압축 백 스핀 /sbin/service httpd reload > /dev/null 2>/dev/null || 최종 초안 }
왜 작동하지 않나요?
답변1
크론이 실행되고 있지 않습니다. 재부팅 후 cron이 작동하기 시작했고 logrotate도 작동했습니다.