[리눅스] 서비스 로그 파일 크기 제한

리눅스 시스템에서는 로그 파일이 계속해서 커지는 것을 방지하기 위해 로그 파일의 크기를 제한하는 것이 중요합니다. 로그 파일이 너무 커지면 디스크 공간을 많이 차지하게 되고, 시스템 성능에도 영향을 미칠 수 있습니다. 이를 방지하기 위해 로그 파일의 크기를 제한하는 방법에 대해 알아보겠습니다.

로그 파일 크기 제한 설정하기

로그 파일의 크기를 제한하기 위해서는 logrotate 를 사용하여 설정할 수 있습니다. 먼저, logrotate 패키지가 설치되어 있는지 확인합니다. 만약 설치되어 있지 않다면 다음과 같이 설치합니다.

sudo apt install logrotate   # Ubuntu, Debian
sudo yum install logrotate    # CentOS, RHEL

다음으로, 로그 파일의 설정 파일을 열어 로그 파일의 크기 제한을 설정합니다.

sudo vim /etc/logrotate.d/servicename

여기서 servicename 은 서비스의 이름으로 대체되어야 합니다. 로그 파일의 경로와 크기 제한을 설정할 수 있습니다. 예를들어, 아래와 같이 설정할 수 있습니다.

/path/to/log/file.log {
    size 100M
    rotate 5
    compress
    delaycompress
    missingok
    notifempty
}

위 예제에서는 /path/to/log/file.log 의 크기가 100MB를 초과하면 rotate가 수행되어 새로운 파일로 로그가 저장됩니다. rotate 5 는 5개의 로그 파일을 유지하고 나머지는 삭제됩니다. 또한, compress 는 이전 로그 파일을 압축하고 delaycompress 는 rotate가 수행된 직후에 압축 작업이 수행되도록 합니다. missingok 는 로그 파일이 없는 경우에 에러를 발생시키지 않고, notifempty 는 빈 로그 파일의 경우에 rotate를 수행하지 않도록 합니다.

로그 파일 크기 확인하기

로그 파일의 크기 제한을 설정한 이후에는 주기적으로 로그 파일의 크기가 제한되고 있는지 확인해야 합니다. 로그 파일의 크기를 확인하기 위해서는 다음 명령어를 사용할 수 있습니다.

du -h /path/to/log/file.log

위 명령어를 통해 /path/to/log/file.log 파일의 크기를 확인할 수 있습니다.

로그 파일의 크기를 제한함으로써 디스크 공간을 효율적으로 관리할 수 있습니다.

참고 자료