게시물 261건
   
[Red Hat] logrotate (로그로테이트)
글쓴이 : theko 날짜 : 2014-07-23 (수) 08:56 조회 : 9928
A. 로그로테이트 환경 설정 파일에 대한 설명 입니다.

# cat /etc/logrotate.conf
# see "man logrotate" for details

# rotate log files weekly
weekly    // 로그파일을 변경할 기간을 설정합니다.
                  daily : 매일 변경
                  weekly : 매주 변경
                   monthly : 매달 변경
                   yearly : 매년 변경

# keep 3 weeks worth of backlogs
rotate 4    // 순환될 파일의 개수를 설정합니다. 0부터 시작하게 되며 위에서 weekly로 설정 시 4주간 보관합니다.

# create new (empty) log files after rotating old ones
create    // 로그파일을 백업하고 새로운 파일을 생성할 것인지 설정합니다.

# uncomment this if you want your log files compressed

#compress    // 순환(백업)된 로그파일을 압축하도록 변경합니다. 주석을 해제하면 백업파일을 gzip으로 압축 합니다.

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d    // 로그 순환 정보를 가진 파일들이 저장된 디렉토리를 불러 옵니다.
                                          이 디렉토리에 있는 파일들이 모두 포함됩니다.

# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp    //소유자 root, 그룹 utmp
    rotate 6
}    // wtmp(접속로그파일, 명령어 last)에 대한 설정을 합니다. 한달 단위로 순환을 하며 백업은 한달을 보관하고
          백업파일은 root 사용자와 utmp그룹의 소유로 644퍼미션을 부여합니다.

# system-specific logs may be also be configured here.
 
B. /etc/logrotate.d 디렉토리에 내용을 추가하여 파일로 만들어 사용합니다. 대표적으로 몇개만 살펴보겠습니다.

[root@moon]# cat /etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
    sharedscripts    // 와일드카드로 지정된 여러파일에 적용 합니다.
    postrotate    // logrotate 작업 이후에 지정된 작업(스크립트)를 실행 합니다. 시작점
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
        /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript    // 종료점
}


문의하신 secure 로그를 일년간 저장 하는 방법은 여러가지 방법을 조합하여 사용할 수 있습니다.

예를 들면 지금 기본설정으로 저장되는 주단위(weekly)는 바꾸지 않고
rotate 번호만 52 (1년은 52주로 구성되어 있습니다.)로 바꾸어 1주일 단위로 52주의 로그를 설정하는 방법

로그 저장되는 주기를 monthly로 바꾸고
rotate 번호는 12로 바꾸어 1달 단위로 12달 단위의 로그를 저장하는 방법

로그 저장되는 주기를 yearly로 바꾸고
rotate 번호는 1로 바꾸어 1년 단위로 1개의 로그로 저장하는 방법

로그 저장되는 주기를 daily로 바꾸고
rotate 번호를 365로 바꾸어 1일 단위로 365개의 로그를 저장하는 방법
등이 있습니다.

위의 방법중 로그 저장되는 단위를 주단위(weekly)로
rotate 번호를 52로 바꾸는 방법은 아래와 같이 해당 파일을 수정하시면 됩니다.

example)
해당 작업에 앞서 /etc/logrotate.d/syslog 에서 기존 /var/log/secure 항목을 삭제 합니다.
#vi /etc/logrotate.conf ## 해당 설정은 secure log 에만 적용 됩니다.
/var/log/secure {
        monthly   ## 월단위
        create 0600 root root ## 600 퍼미션과 root 유저 root 그룹으로 생성
        rotate 12  ## 12개의 로테이션
}

이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

miwit.com sir.co.kr DNS Powered by DNSEver.com DNS Powered by DNSEver.com