728x90
728x170
로그 파일 관리(logrotate)
logrotate
- 로그 파일을 여러 개로 분할해주는 프로그램
- 다음의 기능 지원
- 로그 파일의 자동 로테이션 기능
- 압축 기능
- 제거
- 각각의 로그 파일은 하루, 일주일, 한 달 단위로 로테이션을 할 수 있다.
- 시스템과 관련된 기본적인 로그 설정 : /etc/logrotate.conf
- 응용 프로그램은 /etc/logrotate.d 디렉터리에 내에 위치하여 로그 파일을 관리한다.
- 명령행에서 logrotate 를 직접 사용 가능하다.
- 하지만, 현재 리눅스에서는 /etc/cron.daily 디렉터리에 등록되어 있다.
- cron에 의해 스케쥴링 되어 실행되고 있다.
- 하지만, 현재 리눅스에서는 /etc/cron.daily 디렉터리에 등록되어 있다.
사용법
# logrotate [option] config_file
주요 옵션
- -f : 강제로 환경 설정 파일을 읽어 들여서 실행 (--force)
사용 예
# logrotate -f /etc/logrotate.conf
/etc/logrotate.conf 의 주요 설정
# cat /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 old ones
create
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
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
}
① 주요 항목
- weekly
- 로그 파일을 일주일마다 로테이트(Rotate)
- 가장 맨 위에 등록되어 있는 경우 특별히 명시하지 않은 로그 파일들은 이 파일의 적용을 받는다.
- 기간과 관련된 옵션
- daily
- weekly
- monthly
- yearly
- rotate 4
- 최대 4번까지 rotate를 하는 설정
- 기본 logfile, logfile.1, logfile.2, logfile.3, logfile.4 형태로 생성된다.
- create
- 로테이트를 한 후에 비어 있는 로그 파일을 생성하도록 설정하는 항목
- dateext
- 로테이션으로 생성되는 로그 파일에 해당 날짜를 덧붙여서 생성하는 항목
- 예) maillog : maillog-20150513 형태로 생성
- compress
- 로테이트한 후에 생성된 로그 파일에 대해 압축할 때 사용하는 항목
- include /etc/logrotate.d
- /etc/logrotate.d 디렉터리 안에 설정된 파일에 대해서도 로테이트를 적용하는 설정
- nomissingok
- 로그 파일이 존재하지 않은 경우에 에러 메시지 출력
- 기본값으로 설정되어 있음.
- missingok
- 로그 파일이 존재하지 않은 경우에 에러 메시지를 출력하지 않고 다음 파일로 이동한다.
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
- 로그 파일명을 명시하면 별도로 지정이 가능하다.
- /var/log/wtmp는 한 달마다 로테이트 하지만, 파일 크기가 1MB 가 되면 그 이전이라도 로테이트를 실행한다.
- 파일 생성 시에 허가권 값은 664, 소유자는 root, 소유 그룹은 utmp로 설정
- 로테이션으로 생성되는 백로그 파일은 1개만 생성
② 설정 예
/var/log/httpd/access.log {
rotate 5
mail starrykss@naver.com
size 100k
missingok
dateet
postrotate
/usr/bin/killall -HUP httpd
endscript
}
- /var/log/httpd/access.log 파일에 대한 로테이션 설정을 파일의 크기가 100k일 때 설정한 내용.
- size 옵션
- 기간을 지정하는 daily, weekly, monthly, yearly와 함께 사용할 수 없다.
- mail 항목
- 로그 파일이 없을 때 지정한 주소로 메일을 보내도록 설정할 수 있다.
- postrotate~endscript
- 로그 파일이 로테이트된 후에 실행될 명령어를 작성할 때 사용한다.
관련 파일 : /var/lib/logrotate/logrotate.status
- 각 로그 파일별로 로테이션된 날짜가 기록된 파일
# cat /var/lib/logrotate/logrotate.status
logrotate state -- version 2
"/var/log/yum.log" 2021-2-14-18:0:0
"/var/log/cups/page_log" 2021-2-14-18:0:0
"/var/log/firewalld" 2021-2-14-18:0:0
"/var/log/cups/error_log" 2021-2-14-18:0:0
"/var/log/boot.log" 2021-2-25-17:49:2
"/var/log/cups/access_log" 2021-2-21-19:28:2
"/var/log/chrony/*.log" 2021-2-14-18:0:0
"/var/log/wtmp" 2021-2-14-18:0:0
"/var/log/spooler" 2021-2-21-19:28:2
"/var/log/btmp" 2021-2-14-18:0:0
"/var/log/iscsiuio.log" 2021-2-14-18:0:0
"/var/log/maillog" 2021-2-21-19:28:2
"/var/log/libvirt/libvirtd.log" 2021-2-14-18:0:0
"/var/log/libvirt/qemu/*.log" 2021-2-14-18:0:0
"/var/log/wpa_supplicant.log" 2021-2-14-18:0:0
"/var/log/secure" 2021-2-21-19:28:2
"/var/log/numad.log" 2021-2-14-18:0:0
"/var/log/ppp/connect-errors" 2021-2-14-18:0:0
"/var/log/messages" 2021-2-21-19:28:2
"/var/account/pacct" 2021-2-14-18:0:0
"/var/log/cron" 2021-2-21-19:28:2
문제 해결 전략
- 'rpm -qc logrotate' 명령을 실행해서 환경설정 파일인 '/etc/logrotate.conf' 를 찾고, 파일에 기본적으로 제공되지 않는 설명은 'man logrotate.conf' 명령을 실행해서 확인한다.
문제 유형
① 조건을 제시한 후, 빈칸을 채우는 문제
/var/log/messages {
( weekly )
create ( 0600 ) root root
( rotate ) 5
}
# vi ( /etc/logrotate.conf )
( /var/log/wtmp ) {
( create 0600 root utmp(또는 root) )
}
728x90
그리드형(광고전용)
'Certificate > Linux Master' 카테고리의 다른 글
[리눅스마스터 1급 실기] KVM 서비스 구축 (0) | 2022.04.10 |
---|---|
[리눅스마스터 1급 실기] FTP 서버 설정 (vsftpd) (0) | 2022.04.10 |
[리눅스마스터 1급 실기] NFS 서버 설정 (/etc/exports) (0) | 2022.04.10 |
[리눅스마스터 1급 실기] rsync (0) | 2022.04.10 |
[리눅스마스터 1급 실기] iptables (0) | 2022.04.10 |
[리눅스마스터 1급 실기] DHCP 서버 설정 (dhcpd.conf) (0) | 2022.04.10 |
[리눅스마스터 1급 실기] DNS 서버 설정 (named.conf) (0) | 2022.04.10 |
[리눅스마스터 1급 실기] 메일 관련 작업 (/etc/mail/virtusertable) (2) | 2022.04.10 |