logrotate는 Linux 시스템에서 로그 파일을 자동으로 관리하고 압축, 백업, 삭제, 로테이션 등을 수행하는 유틸리티입니다. 로그 파일은 시스템 리소스를 차지하고 디스크 공간을 낭비할 수 있으므로 logrotate를 사용하여 로그 파일을 효과적으로 관리할 수 있습니다.
logrotate 설치
대부분의 Linux 배포판에는 logrotate가 기본적으로 포함되어 있습니다. 하지만 필요한 경우, 패키지 관리자를 통해 설치할 수 있습니다. 아래는 몇 가지 배포판에서의 설치 명령어 예제입니다.
# Debian/Ubuntu
sudo apt-get install logrotate
# Red Hat/CentOS
sudo yum install logrotate
# Fedora
sudo dnf install logrotate
logrotate의 설정 파일은 일반적으로 /etc/logrotate.conf와 /etc/logrotate.d/ 디렉토리 내에 있습니다. /etc/logrotate.conf 파일은 기본 설정을 정의하고, /etc/logrotate.d/ 디렉토리 내의 파일은 특정 로그 파일에 대한 추가 설정을 포함합니다.
기본 설정 파일 편집
# logrotate.conf
# 로그 파일이 얼마나 오래 보관되어야 하는지 설정합니다.
# 예: 30일 이후에 로그 파일이 삭제됩니다.
rotate 30
# 로그 파일이 어떻게 압축되어야 하는지 설정합니다.
# compress 옵션을 사용하여 압축하고, 압축된 로그 파일에 .gz 확장자가 붙습니다.
compress
# 압축된 로그 파일이 얼마나 오래 보관되어야 하는지 설정합니다.
# 예: 90일 이후에 압축된 로그 파일이 삭제됩니다.
# 만약 원본 로그 파일과 함께 삭제하려면 notifempty 옵션을 사용합니다.
rotate 90
# 로그 파일의 소유자와 그룹을 지정할 수 있습니다.
create 0644 root root
로그 파일별 설정 파일 작성
# /etc/logrotate.d/apache2
/var/log/apache2/*.log {
# 로그 파일이 없어도 경고 없이 처리
missingok
# 로그 파일을 매일 로테이션합니다.
daily
# 로그 파일이 최대 14개까지 유지됩니다.
rotate 14
# 로그 파일을 압축합니다.
compress
# 원본 로그 파일과 함께 삭제합니다.
notifempty
# 30일 이후의 로그 파일은 삭제
maxage 30
# 로그 파일을 복사하면서 원본 파일 비우기
copytruncate
# 압축된 로그 파일에 날짜 확장자 추가
dateext
# 로그 파일의 소유자와 그룹을 지정할 수 있습니다.
create 0644 root root
}
logrotate 테스트
이 명령어는 실제로 로그 파일을 회전하지 않고, 어떻게 동작할지 미리 보여줍니다. -d 옵션을 사용하여 디버그 모드로 실행합니다.
sudo logrotate -d /etc/logrotate.conf
logrotate 자동 실행 설정
logrotate는 주로 cron 작업을 통해 주기적으로 실행됩니다. cron 작업을 설정하여 logrotate가 로그 파일을 주기적으로 회전하도록 만들 수 있습니다. cron 작업은 /etc/cron.daily/logrotate 또는 /etc/cron.weekly/logrotate와 같이 설정됩니다.
logrotate를 수동으로 실행하려면 다음 명령어를 사용할 수 있습니다.
sudo logrotate -f /etc/logrotate.conf
crontab 을 이용하여, 원하는 주기로 변경하기
# 매주 수요일 오전 2시에 logrotate 실행
0 2 * * 3 /usr/sbin/logrotate /etc/logrotate.conf
'Linux' 카테고리의 다른 글
[Linux] find 명령어로 group,user 파일 찾기,변경하기 (1) | 2023.11.17 |
---|---|
[Linux] Telegraf 설치 및 다양한 예제 (1) | 2023.10.16 |
[Linux] sysctl 명령어의 다양한 예제 (1) | 2023.09.29 |
[Linux] lsof 명령어와 다양한 예제 (1) | 2023.09.28 |
[Linux] 중복 파일을 확인하는 스크립트 (1) | 2023.09.22 |