Ⅰ. logrotate 란?
logrotate는 리눅스와 Unix 기반 시스템에서 로그 파일 관리를 자동화하기 위한 유틸리티입니다. 이것은 로그 파일을 주기적으로 백업, 압축, 로테이트(순환), 삭제 및 관리하는 데 사용됩니다. 로그 파일은 시스템 리소스를 소비하고 디스크 공간을 차지할 수 있으므로, logrotate를 사용하면 로그 파일을 효과적으로 관리할 수 있습니다.
Ⅱ. logrotate의 특징
1) 주기적 로그 파일 관리: logrotate는 일정 주기 또는 크기에 따라 로그 파일을 관리합니다. 기본적으로 매일, 매주 또는 매월 실행할 수 있으며, 로그 파일의 크기 또는 날짜에 따라 작업을 수행할 수 있습니다.
2) 압축: 이 유틸리티는 오래된 로그 파일을 압축하여 디스크 공간을 절약합니다. 주로 gzip과 같은 압축 알고리즘이 사용됩니다.
3) 로그 파일 순환: 로그 파일을 주기적으로 로테이트하여 새 로그 데이터를 기존 파일에 추가하는 방식으로 작동합니다. 이로써 이전 로그 데이터를 보존하면서 새 데이터를 쓸 수 있습니다.
4) 로그 파일 삭제: 설정에 따라 일정 기간이 지난 로그 파일을 삭제할 수 있습니다. 이것은 디스크 공간을 확보하는 데 도움이 됩니다.
5) 설정 파일: logrotate의 동작은 설정 파일에 의해 제어됩니다. 일반적으로 /etc/logrotate.conf나 /etc/logrotate.d/ 디렉터리 내의 설정 파일을 사용합니다.
6) 사용자 정의 설정: 로그 파일의 특정 설정 (예: 로그 파일의 크기 한계, 보관 기간, 압축 여부)은 사용자 정의 설정으로 변경할 수 있습니다.
Ⅲ. logrotate의 사용방법
기본적으로 logrotate는 /etc/logrotate.conf 파일에 설정파일이 있습니다.
해당 파일을 열어보면, /etc/logrotate.d 폴더를 include 하고 있어서 /etc/logrotate.d 폴더만에 해당 파일을 만들면 자동으로 실행됩니다.
(/etc/cron.daily 폴더 안에 logrotate 실행 파일이 들어가 있어서, 자동으로 logrotate.conf 를 logrotate로 실행하게 됩니다.)
logrotate 의 실행 순서는 다음과 같습니다.
crontab -> cron.daily -> logrotate -> logrotate.conf -> logrotate.d
daily : 일단위로 실행합니다. rotate 5 : 회전 주기를 설정합니다. notifempty : 로그파일의 내용이 없을경우 rotate 하지 않습니다. missingok : 로그파일이 없을경우 에러메시지를 출력하고 다음으로 실행합니다. compress : 로그파일을 압축합니다. sharedscripts : 여러개의 로그파일을 스크립트로 공유하여 실행합니다. postrotate : 실행 후 스크립트 파일 실행합니다. /server/apache2/bin/apachectl graceful. endscript : 실행 후 스크립트 파일 실행합니다. |
* logrotate 강제 실행 명령어
/usr/sbin/logrotate -f /etc/logrotate.d/test
* logrotate 실행 과정 화면 표시
/usr/sbin/logrotate -v /etc/logrotate.d/test
'시스템(Linux)' 카테고리의 다른 글
리눅스 캐시 메모리 반환 (0) | 2023.12.26 |
---|---|
리눅스 접속 시 배너를 통한 경고문 (0) | 2023.12.22 |
리눅스에서 CPU, MEMORY, 커널 정보 확인방법에 대해 알아보겠습니다. (0) | 2023.10.05 |
firewall-cmd 에 대해 알아보겠습니다. (0) | 2023.09.30 |
Linux 및 Unix 에서 많이 사용되는 압축과 압축해제에 대해 알아보겠습니다. (0) | 2023.09.20 |