log를 기록하지만 계속 작성하게되면 data가 많아지므로 분리가 필요함
로그 파일을 주기적으로 압축하여 관리 목표
logrotate : 로그파일을 rotates, compresses, mails할 수 있음
관련파일
- /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 참조 ( logrotate.conf 파일 안에 "include /etc/logrotate.d")
로그 확인
/usr/sbin/logrotate -d /etc/logrotate.conf
# -d는 디버그 모드 -f는 강제 실행
/path/to/log {
daily
copytruncate
create 0700 root root
compress
notifempty
missingok
dateext
}
각 명령어
- rotate 30(숫자) : log파일 30개 이상 되면 삭제
- maxage 30(숫자) : 30일 이산된 로그 파일 삭제
- size : 지정한 용량이 되면 로그로테이트를 실행한다. 10k, 10M 이런식으로 지정한다.
- create : [권한 유저 그룹] 으로 rotation된 로그파일 생성
- notifempty : log 내용이 없으면 rotation 하지 않는다.
- ifempty : 로그파일이 비어있는 경우에도 로테이트한다.
- monthly : 월 단위로 로테이트 한다.
- daily : 월 단위로 로테이트 한다.
- weekly : 월 단위로 로테이트 한다.
- compress : rotate 된 로그 gzip 압축
- nocompress : 압축을 원치 않는다.
- mail admin@mail : 로테이트 설정에 의해 보관주기가 끝난 파일을 메일로 발송한다.
- mailfirst admin@mail : 로테이트시 신규파일 이전의 로그를 메일로 발송한다.
- nomail : 메일로 통보받지 않음.
- errors admin@mail : 로테이트 실행시 에러가 발생하면 이메일로 통보한다.
- prerotate-endscript : 사이의 명령어를 로그파일 처리전에 실행한다.
- postrotate-endscript : 사이의 명령어를 로그파일 처리후에 실행한다.
- extension : 로테이트 후 생성되는 파일의 확정자를 지정한다.
- copytruncate : 이옵션을 넣지 않으면 현재 사용중인 로그를 다른이름으로 move하고 새로운 파일을 생성한다.
반응형
'전산 > OS' 카테고리의 다른 글
데드락 (0) | 2021.06.14 |
---|---|
리눅스 프로세스 목록 확인 (0) | 2021.04.30 |
crontab vs cronjob (0) | 2021.02.16 |
Crontab 명령어 (0) | 2021.02.16 |
chmod 명령어 (1) | 2021.02.15 |
최근댓글