Ubuntu 16.04 Server / logrotate 설치하고 설정하기
Created 2018-06-29
Last Modified 2024-04-28
우분투(Ubuntu)는 여러 작업의 내용을 로그(Log) 파일로 남깁니다. 예를 들어 웹서버 운영과 관련된 로그는 /var/log/apache2에 있습니다.
로그는 기본적으로 하나의 파일에 계속 추가하는 것이어서, 시간이 지날수록 파일의 크기가 커집니다. 로그 파일의 크기가 너무 커지면, 시스템이 느려지거나 다운되기도 합니다.
이러한 문제를 해결해주는 패키지가 logrotate입니다. 로그 파일이 일정 기준을 충족하면 기존 로그 파일을 다른 이름으로 변경하여 저장하고 새로운 로그 파일을 생성합니다. 따라서 로그 파일이 계속해서 커지는 것을 방지할 수 있고, 필요 없는 과거의 로그 파일을 삭제하여 디스크 용량도 절약할 수 있습니다.
설치
logrotate가 설치되어 있지 않다면 다음과 같이 명령하여 설치합니다.
apt install logrotate
설정
logrotate 기본 설정 파일은 /etc/logrotate.conf이고, 개별 로그 파일 관련 설정 파일들은 /etc/logrotate.d에 있습니다.
예를 들어 apache2 로그 설정 파일은 /etc/logrotate.d/apache2입니다.
/var/log/apache2/*.log { daily missingok rotate 14 compress delaycompress notifempty create 640 root adm sharedscripts postrotate if /etc/init.d/apache2 status > /dev/null ; then \ /etc/init.d/apache2 reload > /dev/null; \ fi; endscript prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi; \ endscript }
몇가지 내용을 살펴보면..
daily
로그 파일 교체 주기입니다. 값으로는 daily, weekly, monthly 등이 가능합니다.
rotate 14
로그파일 개수입니다. 이를 초과하면 순차적으로 삭제합니다.
compress
압축 여부를 정합니다. 값으로는 compress, nocompress가 가능합니다.
테스트
로그 파일이 다음처럼 만들어지면 잘 작동하는 것입니다.
error.log error.log.1 error.log.10.gz error.log.11.gz error.log.12.gz error.log.13.gz error.log.14.gz error.log.2.gz error.log.3.gz error.log.4.gz error.log.5.gz error.log.6.gz error.log.7.gz error.log.8.gz error.log.9.gz