logrotate

logrotate 관련 파일
# /usr/sbin/logrotate : 데몬의 위치 및 데몬프로그램
# /etc/logrotate.conf : 설정 파일.
# /etc/logrotate.d : logrotate를 적용할 로그 파일 보관 디렉토리.
# /var/lib/logrotate.status : logrotate가 작업 내역 보관 파일.
# /etc/cron.daily/logrotate : logrotate : cron 에 의해 일 단위로 실행한다.

동작 순서
1. cron.daily 에서 /usr/sbin/logrotate 호출 
2. /usr/sbin/logrotate 에서 /etc/logrotate.conf 설정파일 참조 
3. /etc/logrotate.conf 설정 파일에서 /etc/logrotate.d 참조 

# sudo vi /etc/logrotate.d/apache
[code] /var/logs/apache/access_log {
  su apache apache
  create 0644 apache apache
  size +1k
  missingok
  notifempty
  compress
  dateext
  postrotate
    /usr/bin/killall -HUP httpd
  endscript
} [/code]

강제실행
# /usr/sbin/logrotate -f /etc/logrotate.d/apache

테스트
# /usr/sbin/logrotate -d /etc/logrotate.d/apache

copytruncate옵션을 활용하면 postrotate를 통한 프로세스 재시작이 불필요하나 copy-truncate 시점의 로그는 손실 됨.
2017/05/30 10:56 2017/05/30 10:56
Trackback Address:이 글에는 트랙백을 보낼 수 없습니다