[Linux] Logrotate 리눅스 로그 순환 관리
syslog나 데몬 프로세스가 출력하는 로그 파일을 그대로 방치하면 사이즈가 커지면서 관리하기 어려워지고 디스크 사용률이 100%가 되어 시스템 장애가 발생할 수 있는 문제가 있다.
logrotate는 리눅스 설치시 패키지형태로 기본적으로 설치되는 시스템 로그파일 관리 도구로 로그파일 순환, 압축등의 기능을 가지고 있다.
구분 |
위치 |
설명 |
데몬 |
/usr/sbin/logrotate |
logrotate 데몬 위치 및 데몬 프로그램 |
데몬 설정 파일 |
/etc/logrotate.conf |
logrotate 데몬 설정 파일 |
설정 디렉토리 |
/etc/logrotate.d |
logrotate를 적용할 프로세스/데몬 설정파일 |
상황파일 |
/var/lib/logrotate.status |
logrotate 한 작업내역을 보관한 파일 |
cron |
/etc/cron.daily/logrotate |
logrotate는 주기적으로 실행이 되어야 하므로 cron에 의해 일단위로 실행 |
# vi /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly /* daily, monthly, weekly : 일, 월, 주 단위 로그파일 순환 */
# keep 4 weeks worth of backlogs
rotate 4 /* rotate n : 순환 로그파일의 개수를 n개로 설정 */
# create new (empty) log files after rotating old ones
create 600 root root /* create [퍼미션] [소유자] [소유그룹] : 순환 시 새롭게
로그파일을 생성하며 퍼미션, 소유자, 소유그룹 지정 가능 */
# use date as a suffix of the rotated file
dateext /* 로그파일의 확장자로 날짜를 붙여서 보관 */
# uncomment this if you want your log files compressed
#compress /* compress, uncompress : 로그파일을 압축, 압축안함 보관 */
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d /* 해당 디렉터리에 있는 개별 데몬/프로세스 설정파일 포함 */
size 100M /* 지정한 크기가 되면 로그파일 순환 ex) 100k, 10M */