320x100
320x100

로그로테이트 (logrotate)

: 지속적으로 쌓이는 로그의 크기가 무한하게 커지는 것을 방지하기 위해

  로그를 분할하거나 압축 및 제거하여 관리하는 것

: 하루, 일주일, 한 달, 연 단위 혹은 크기 단위로 로테이션을 수행

: 리눅스에서는 /etc/cron.daily 디렉터리에 서비스가 등록되어 스케줄링을 통해 실행됨

 

 

 

 

 

로그로테이트 관련 명령어

- logrotate

 

 

 

 

 

logrotate

: 로그 로테이트의 설정 파일을 읽어 로그로테이트를 실행

 

- 형식

: logrotate [option] <config file>

 

- 주요 옵션

: -f (--force)

 > 강제로 환경설정 파일을 읽어 실행

 

 

 

 

 

로그로테이트 관련 파일

- /etc/logrotate.conf

- /etc/logrotate.d

- /var/lib/logrotate.status

 

 

 

 

 

/etc/logrotate.conf

: 시스탬과 관련된 로그로테이트 설정 파일

 

- 형식

<log file> { 

     [daily, weekly, monthly, yearly <cycle of rotates>]

     [rotate <number of rotates>]

     [create <permission value> <owner> <own group>]

          [minsize, size <1M, 100k>]

     [dateext]

     [compress]

     [include /etc/logrotate.d]

     [nomissingok]

     [missingok]

}

 

- 항목별 설명

: daily, weekly, monthly, yearly 

 > 로그로테이트 주기. 가장 맨위에 작성하면 모든 로그 파일에 적용됨

: rotate <number of rotates>

 > 로테이트 횟수

: create <permission value> <owner> <own group>

 > 로테이트 실행 후 비어있는 로그 파일 생성

: minsize, size <1M, 100k>

 > minsize에 설정한 용량 이상이 되면 로테이트 주기가 되지 않았더라도 로테이트 수행

 > size의 경우 daily, weekly 등의 주기와 함께 사용할 수 없음

: dateext

 > 로테이트를 통해 생성되는 파일에 날짜를 덧붙혀서 생성 여부

: compress

 > 로테이트를 통해 생성되는 파일을 압축하는 여부 

: include /etc/logrotate.d

 > 해당 로그 로테이트 파일에 설정된 파일에 대해서도 로테이트 적용

: nomissingok

 > 로그 파일이 존재하지 않는 경우 에러 메시지 출력. 기본값

: misisngok

 > 로그 파일이 존재하지 않아도 에러 메시지를 출력하지 않고 다음 로그 파일로 넘어감

 

- 예시

```

/var/log/wtmp {

     weekly

     create 0644 root testg

          minisize 1M

     rotate 1

}

: wtmp에 대해 일주일에 한 번씩 로테이트를 진행하고 빈 로그 파일을 생성한다

: 파일크기가 1MB가 되면 주기가 오지 않아도 로테이트를 실행

: 로테이트를 통해 생성되는 백로그는 1개만 생성

 

/var/log/btmp {

    rotate 5

    mail 2mukee@gmail.com

    size 512k

    missingok

    dateext

    postrotate

         /usr/lib/node app.js

    endscript

}

: btmp의 크기가 512kb일 때 메일을 보내고 app.js를 실행한다

: postrotate ~ endscript에 로테이트 실행 후 실행할 명령어를 작성

```

 

 

 

 

 

/etc/logrotate.d

: logrotate 데몬 파일이 위치하는 디렉터리

 

 

 

 

 

/var/lib/logrotate.status

: 각 로그 파일 별로 로테이션된 날짜가 기록된 파일

 

 

 

 

 

 

Refference

 

리눅스마스터 1급 2차 실기 정복하기 | 정성재 - 교보문고

리눅스마스터 1급 2차 실기 정복하기 | 출제 경향을 반영하여 핵심 내용만 요약 정리 시험대비를 위한 최신 기출문제를 해설과 함께 수록본 교재는 독자들이 최근 출간 요구가 많았던 리눅스마

product.kyobobook.co.kr

 

300x250
728x90

'Certification > 리눅스마스터' 카테고리의 다른 글

리눅스 시스템 보안 관리  (0) 2022.10.12
리눅스 로그 확인 및 기록  (0) 2022.10.12
리눅스 시스템 로그 관리  (0) 2022.10.11
리눅스 프린터 관리  (0) 2022.10.10
리눅스 디스크 용량 확장  (0) 2022.10.10