리눅스 로그관리 - Logrotate
리눅스 로그관리 - Logrotate 알아보기
이번 포스팅에서는 리눅스 로그관리에 유용한 logrotate 에 대해서 알아보도록 하겠습니다.
Logrotate는 무엇인가? |
리눅스에서 서버를 운영하시다 보면 로그를 보고 서버의 상태 혹은 장애를 대비합니다 그래서 대부분의 모든로그는 남기도록 설정하는데 이러한 로그들은 시간이 점점 지나면서 엄청난 크기로 커지게 됩니다
엄청난 크기로 커지기 전에 로그들을 잘관리하도록 설정하는 기능이 logrotate 입니다
Logrotate 실행흐름과 구조 |
1. Logrotate 실행순서
2. Logrotate 파일 구조
Logrotate 파일구조
데몬 프로그램 : /usr/sbin/logrotate
Logrotate 데몬 설정파일 : /etc/logrotate.conf
Logrotate를 프로세스 설정파일 : /etc/logrotate.d/
Logrotate 작업내역 로그 : /etc/cron.daily/logrotate
/etc/logrotate.conf 설정하기 |
logrotate(로테이트)의 실행의 모든 설정 파일인 logrotate.conf의 내용 입니다 입니다
1. 로그 회전주기
# rotate log files weekly weekly
로그 회전을 원하시는 주기를 설정입니다
yearly : 매년
monthly : 매월
weekly : 매주
daily : 매일
2. 로그파일 개수
# rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 5
정리할 로그의 개수를 지정하는 부분입니다 로그 회전주기에 따라 진행됩니다
3. 새로운 로그파일 생성여부
# rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 5 # create new (empty) log files after rotating old ones create
로그파일을 정리한 후 로그파일을 생성여부입니다
create : 로그파일 생성
empty : 로그파일 생성 안함
4. 파일명 날짜 부여
# rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 5 # create new (empty) log files after rotating old ones create # use date as a suffix of the rotated file dateext
Logrotate가 실행한뒤 로그파일에 날짜를 부여합니다
dateext : 로그 파일명의 날짜 부여
5. 로그파일 압축여부
# rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 5 # create new (empty) log files after rotating old ones create # use date as a suffix of the rotated file dateext # uncomment this if you want your log files compressed compress
로그파일 압축여부 입니다 - (압축하여 로그파일의 크기를 조절할수 있습니다)
compress : 로그파일 압축
6. 개별 로그정리 프로세스(데몬) 경로
# rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 5 # create new (empty) log files after rotating old ones create # use date as a suffix of the rotated file dateext # uncomment this if you want your log files compressed compress # RPM packages drop log rotation information into this directory include /etc/logrotate.d
디렉토리를 지정하여 Logrotate를 할수 있습니다
include [경로] : Logrotate 프로세스(데몬) 지정
/etc/logrotate.d 설정하기 |
apache 로그를 이용한 /etc/logrotate.d 파일 밑에 설정을 해보도록 하겠습니다
1. apache 로그 Logrotate(로테이트) 설정하기
[root@server ~]# cat /etc/logrotate.d/apache /server/apache2/logs/*log { daily rotate 5 notifempty missingok compress sharedscripts postrotate /server/apache2/bin/apachectl graceful endscript }
/etc/logrotate.d/apache 상세설명
daily : 일단위로 실행합니다
rotate 5 : 회전 주기를 설정합니다
notifempty : 로그파일의 내용이 없을경우 rotate 하지 않습니다
missingok : 로그파일이 없을경우 에러메시지를 출력하고 다음으로 실행합니다
compress : 로그파일을 압축합니다
sharedscripts : 여러개의 로그파일을 스크립트로 공유하여 실행합니다
postrotate : 실행 후 스크립트 파일 실행합니다
/server/apache2/bin/apachectl graceful
endscript : 실행 후 스크립트 파일 실행합니다
2. Logrotate(로테이트) 실행
[root@server ~]# /usr/sbin/logrotate -f /etc/logrotate.d/apache
3. Logrotate(로테이트) 디버그 모드
[root@server ~]# /usr/sbin/logrotate -d /etc/logrotate.d/apache
3. Logrotate(로테이트) 실행과정 화면의 표시
[root@server ~]# /usr/sbin/logrotate -v /etc/logrotate.d/apache