[리눅스] 서비스 로그 회전 설정

다음은 리눅스 환경에서 로그 회전을 설정하는 방법에 대한 내용입니다.

1. 로그 회전 설정

서비스의 로깅은 보통 rsyslog를 통해 이루어집니다. rsyslog는 로그 파일의 저장과 관리를 담당하며, 로그 회전과 관련된 설정을 쉽게 할 수 있습니다. 로그 파일의 회전 주기, 보관 기간, 파일 크기 등을 설정할 수 있습니다.

이를 위해 /etc/logrotate.d/ 디렉토리에 서비스별로 로그 회전을 설정하는 파일을 만들고 설정 내용을 기입합니다. 파일 이름은 일반적으로 서비스 이름으로 지정합니다.

다음은 /etc/logrotate.d/nginx 파일을 만들어 Nginx 서비스의 로그 회전을 설정하는 예시입니다.

/var/log/nginx/*.log {
    daily
    rotate 7
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/nginx.pid 2>/dev/null` 2> /dev/null || true
    endscript
}

위 설정은 매일 로그를 회전시키고, 7일 간 보관 후 오래된 로그를 압축합니다. 또한 로그 회전 과정에서 Nginx 서비스에 재시작 명령을 내리기 위한 설정도 포함하고 있습니다.

2. 로그 회전 수행 주기

로그 회전은 logrotate 데몬에 의해 주기적으로 실행됩니다. 일반적으로는 cron을 사용하여 매일 자정에 로그 회전 작업을 실행하도록 설정합니다. /etc/cron.daily/logrotate 파일을 확인하여 로그 회전 작업이 자동으로 등록되어 있는지 확인할 수 있습니다.


이상으로 리눅스 서비스의 로그 회전 설정에 대해 알아보았습니다. 로그 회전을 통해 쾌적한 시스템 운영환경을 유지할 수 있으며, 로그 관리에 대한 부담을 줄일 수 있습니다.