복잡한 로그 관리 직접 할 필요 없습니다 -> logrotate
logrotate
- 모든 리눅스 배포판의 표준 로그 관리 유틸리티
- 다양한 관리 정책이 구현됨
- 주요 옵션
compress : 현재 버전이 아닌 모든 log 파일들을 압축
daily, weekly, monthly : 지정된 일정대로 로그 파일들을 로테이션
delaycompress : 현재와 가장 최근 버전을 제외한 모든 버전을 압축
endscript : prerotate나 postrotate 스크립트의 끝을 표시
errors emailaddr : 지정된 이메일로 오류 알림 메시지를 보냄
missingok : 로그 파일이 존재하지 않는 경우에 오류처리 하지 않음
notifempty : 로그 파일이 비어 있으면 로테이트 하지 않음
copytruncate: 로그 데이터를 새로운 파일로 카피하고, 기존 파일을 비움.
(장점: 로그 파일을 새로 열 필요가 없음, 단점: 로그가 큰 경우에는 오랜 시간이 걸릴 수 있음)
postrotate : 로그 로테이션이 완료된 후에 실행될 스크립트.
(예, 앱에 시그널을 보내서 파일을 새로 여는 작업 진행)
prerotate : 로그 파일의 변경 전 실행될 스크립트
sharedscripts : 로그 파일이 여러개 있어도 (prerote, postrotate는 한번만 실행)
rotate n : 최대 n개 버전의 로그 파일을 유지
size logsize: 로그파일이 logsize 크기를 넘어선 경우 로테이션
- 설정 파일 위치
/etc/logrotate.conf /etc/logrotate.d/ 디렉토리 <- cron에 의해 매일 1회 수행
- 적용 예) nginx 로그 설정
'리눅스 > Part3. Ch06. 로깅' 카테고리의 다른 글
05. (실습) systemd 등록 어플리케이션의 로그 저장 (0) | 2022.12.15 |
---|---|
04. 대규모 로그 관리 (0) | 2022.12.14 |
02. syslog의 이해 (0) | 2022.12.14 |
01. 리눅스 로깅 이해 (0) | 2022.12.14 |