리눅스 시스템에서 로그 파일 관리는 매우 중요하다.
이 log파일을 주기적으로 rotate해주는 작업을 자동화하는 도구가 'logrotate'이다.
1. logrotate.conf
이 파일은 로그 rotate에 대한 전반적인 정책이 포함되어 있다.
예를 들어 로그 파일을 얼마나 자주(일간, 주간, 월간 등)으로 rotate시킬지,
보관할 이전 로그 파일의 개수, 압축 여부 등을 설정할 수 있다.
이 파일의 위치는 /etc/logrotate.conf이다.
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating lod ones
create
# use date as a suffiox of the rotated file
dateext
# uncomment this if you want your log files compressed
# compress
# RPM packages drop log rotation information into the direcrtory
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
# system-specific logs may be also be configured here
위 와 같은 내용으로 이루어져 있다.
※ 여기서 'include /etc/logrotate.d' 이 문구가 꼭 있어야 /etc/logrotate.d 에 설정된 파일들도 logrotate에 의해 관리된다.
그리고 logrotate.conf 파일의 설정값은 기본 설정값이므로 /etc/logrotate.d 에 설정된 파일들은 기본적으로 logrotate.conf파일값을 가져간다.
하지만 logrotate.d에 파일에 개별적으로 설정되어 있다면 해당 값으로 설정이 된다.
위 파일에서는 /var/log/wtmp , /var/log/btmp의 경우 logrotate.conf에서 직접 지정되어 관리된다.
2. logrotate.d
이 디렉토리에는 각 애플리케이션마다 별도의 설정 파일이 있다.
예를들어 oracle데이터베이스 서버에서 발생하는 별도의 logrotate 정책을 정의할 수 있다.
예시) /etc/logrotate.d/yum
/var/log/yum.log {
missingok
notifempty
maxsize 30k
yearly
create 0600 root root
}
3. 주요옵션
* daily, weekly, monthly : 로그파일을 일간, 주간, 월간 주기로 rotate시킨다.
* rotate <숫자> : 보관할 이전 로그 파일의 개수
* compress : rotate된 로그 파일을 압축
* missingok : 로그 파일이 없어도 오류를 발생시키지 않음
* notifempty : 로그 파일이 비어 있으면 rotate하지 않음.
* create <모드> <소유자> <그룹> : 새 로그 파일을 지정된 모드와 소유자, 그룹으로 생성
* postrotate, endscript : 로그 rotate후 실행할 스크립트 정의
'OS (운영체제) > 리눅스' 카테고리의 다른 글
[Linux] Linux에서 Windows의 캐리지 리턴(개행) 문자 없애기 (0) | 2024.06.17 |
---|---|
[리눅스] mailx를 통해 메일 보내기 (0) | 2024.05.10 |
[리눅스] 리눅스 버전, cpu코어개수, os bit, memory, disk확인 방법 (0) | 2024.01.19 |
[리눅스] 사용자 계정 확인 (0) | 2022.05.13 |
[LINUX] 리눅스 방화벽 올리기 / 내리기 / 상태확인 (0) | 2021.04.01 |