목차
Summary
이 게시물에서는 CentOS7 버전의 서버에서 Logrotate 의 개념과 주요기능을 설명하고 있습니다.
기능을 적용하기 전 알고있어야 하는 내용을 작성했습니다. logrotate 기능을 제대로 이해하여
바로 적용하고자 하시는 분들은 아래 링크를 클릭해주세요.
[CentOS and Redhat Linux] - (CentOS7) 리눅스 Logrotate 기능(2)
What is Logrotate?
Logrotate 는 CentOS7 서버에서 특정 로그 파일을 관리하는 도구입니다.
최근 보안이슈로 인하여 기업체에서 사용되는 서버에 logrotate 기능을 많이 설정하고 있습니다.
이 기능은 로그 파일의 보관 기간을 지정하기도 하고, 파일 하나의 사이즈도 지정하여
일정 시간이나 일정 사이즈가 넘는 파일을 백업해주는 기능입니다.
자동으로 압축해주는 설정도 있으니 필요시 적용하면 디스크 공간을 효율적으로 사용할 수 있습니다.
How does the logrotate function work?
Logrotate의 주요 기능은 다음과 같습니다:
- 파일 관리 : 지정된 로그 파일 경로에 대해 로그 파일의 크기나 날짜에 따라 로그 파일을 관리
- 파일 압축: 설정된 주기에 따라 오래된 로그 파일을 압축하여 디스크 공간을 절약
- 파일 보존 : 설정된 기간 동안 로그 파일을 보존하고 오래된 로그 파일을 삭제
- 파일의 권한 및 소유자 변경 : 로그 파일의 권한 및 소유자를 변경하여 보안 및 접근성을 관리
1. Logrotate 기능과 관련된 디렉터리 및 파일의 위치
※ 만약 설치되어 있지 않다면 'yum install logrotate' 명령으로 설치해주세요
- logrotate 실행 파일 : /usr/sbin/logrotate
- logrotate 기능 수동 실행 명령 : /usr/sbin/logrotate -f /etc/logrotate.d/apache
- logrotate 수행 로그 : /var/lib/logrotate/logrotate.status
2. 동작 구조에 대한 설명
- Cron.daily 파일에 등록되어 매일 logrotate 실행
- /etc/logrotate.conf 참조하여 logrotate 실행
- logrotate.conf 파일에서 /etc/logrotate.d/* 파일 참조(logrotate.conf 파일안에 "include /etc/logrotate.d" 지정시)
- /var/lib/logrotate/logrotate.status 실행 로그 남김
3. /etc/logrotate.conf 옵션 설명
옵션 | 설명 | |
회전 주기 | yearly monthly weekly daily |
[rotate 진행 주기를 지정] yearly : 매년 monthly : 매월 weekly : 매주 daily : 매일 |
파일 개수 | rotate [숫자] | [파일의 저장 개수를 지정] ex) rotate 4 파일이 4개 까지 생성되며, 이후 부터는 오래된 파일 제거 후 생성 |
파일에 날짜지정 (YYYYMMDD) |
dateext | [rotate 설정된 파일명에 날짜를 지정] ex) messages 파일에 dateext 지정된 경우 아래와 같이 생성 messages.20200101 messages.20200201 ... |
압축 여부 | compress | [rotate 된 파일을 gzip 형태로 압축] |
size 지정 | size 10K/M/G | [파일 사이즈가 커지면 rotate 수행] ex) size 10M 파일 사이즈가 10M 이상이 되면, 회전 주기와 무관하게 Cron.daily 동작이 실행될 때 rotate 수행. |
파일 사이즈에 따라 rotate 여부 | notifempty ifempty |
[파일 사이즈가 0인 경우 rotate 수행 여부 지정] notifempty : 파일의 사이즈가 0이면 rotate 수행하지 않음 ifempty : 파일의 사이즈가 0이어도 rotate 수행 |
에러메시지 제거 | missingok | [rotate 실행할 때 파일이 없는 경우에 발생하는 에러메시지 미출력] |
rotate 실행 전/후 동작 | prerotate / endscript postrotate / endscript |
prerotate / endscript : 실행 전 스크립트 실행 postrotate / endscript : 실행 후 스크립트 실행 |
Conclusion
이 블로그 게시물에서는 CentOS7 버전에서 Logrotate 기능에 대해 설명했습니다.
이를 통하여 원하는 기간의 log 파일 저장이 가능하도록 설정할 수 있습니다.
설정하는 방법이 궁금하신 분은 아래 링크를 확인해주세요.
'CentOS and Redhat Linux > 보안설정' 카테고리의 다른 글
(Linux) CentOS7 방화벽(firewalld) 설정 (1) | 2023.11.20 |
---|---|
(CentOS7) 리눅스 Logrotate 기능(2) (0) | 2023.07.14 |
(CentOS7) OpenSSL 버전 업그레이드 (0) | 2023.07.10 |