반응형
운영 중에 로그 파일이나 임시 파일의 증가로 disk full 관련한 장애가 적지 않게 발생
-> crontab으로 로그 파일 관리방법
crontab으로 로그 파일을 관리하는 실습
- 타겟 App은 nginx
- nginx 로그 파일을 관리하는 작업을 crontab으로 관리
. access.log, error.log
- 로그 파일 관리 정책
. 매일 로그 파일 관리 프로그램 실행
. 날짜가 지나면 로그 파일을 로테이트
-> 이전 날짜의 로그는 별도 이름으로 저장
예) access.log, access.log.1
. 2주가 지난 로그파일은 삭제
. 오래된 로그 파일은 압축된 형태로 저장
예) access.log, access.log.1, access.log.2.gz, access.log.3.gz,,,
logrotate
- 로그 파일 관리를 도와주는 도구
- 지원 기능
로그 압축, 제거, 특정 기간 단위로 로그 분리,
메일 전송 등
시스템이 정의한 crontab 구성에는
-> 일, 시간, 일, 주, 월별 주기 작업을 위한 설정이 포함되어 있음
-> 해당 디렉토리에 포함된 스크립트를 실행
예) cron.daily 디렉토리의 작업을 매일 6시 25분에 실행
실습 내용
$ sudo apt install nginx
-> 패키지 설치 과정에 로그 파일 관리 내용이 포함되어 있음
-> 수동으로 설정할 경우 해당 내용을 참고
정리
crontab + logrotate
- 시스템에 일반적으로 시간/일/주/월 단위의 주기적 작업을 위한 구성이 만들어져 있음
cron.hourly, cron.daily, crontab.weekly, crontab.monthly
-> 해당 디렉토리에 실행할 작업을 스크립트 형태로 등록하면 됨 - 일 단위 주기적 작업에 logrotate가 등록되어, 지정된 시간에 매일 logrotate가 실행됨
- logrotate는 /etc/logrotate.d 디렉토리 내에 등록된 작업(nginx)을 진행
별도의 로그 관리 기능 구현이 필요한 경우
-> crontab은 신경 쓸 필요 없음
(system정의 crontab 설정 사용)
-> /etc/logrotate.d 에 logrotate 설정 파일만 추가
반응형
'리눅스 > Part3. Ch02. 프로세스 관리' 카테고리의 다른 글
04. 주기적인 작업 관리 (0) | 2022.07.17 |
---|---|
03. proc 파일시스템의 이해 (0) | 2022.07.17 |
02. 프로세스 라이프 사이클의 이해 (0) | 2022.07.17 |
01. 프로세스 구성요소의 이해 (0) | 2022.07.16 |