OS/LINUX

[명령어] logrotate 로그 관리

투칼론 2023. 3. 19. 17:06
반응형

1. 개요

logrotate는 많은 수의 로그 파일을 생성하는 시스템의 관리를 쉽게 하도록 설계되었습니다. 로그 파일의 자동 rotate, 압축, 제거 및 메일링이 가능합니다. 각 로그 파일은 매일, 매주, 매월 또는 너무 커질 때 처리될 수 있습니다.
일반적으로 logrotate는 일일 cron 작업으로 실행됩니다. 해당 로그에 대한 기준이 로그 크기를 기반으로 하고 logrotate가 매일 여러 번 실행되거나 -f 또는 -force 옵션이 사용되지 않는 한 하루에 여러 번 로그를 수정하지 않습니다.

 

2. 사용법

/usr/sbin/logrotate -f /etc/logrotate.conf

3. 옵션

    Logrotate는 많은 옵션이 있으며 주로 사용하는 옵션을 간추려 설명 드리겠습니다.

 

    • yearly, monthly, weekly, daily : rotate 주기 옵션 (년/월/주/일 단위)

    • rotate [숫자] : 로그파일의 보유 개수. 숫자이상이면 가장 오래된 로그파일을 삭제함

    • create [권한] [유저] [그룹] : rotate 할때 생성되는 로그파일 퍼미션 및 소유자/그룹

    • notifempty, ifempty : 로그 내용 있는지 체크하여 rotate 할 것인지 안할것인지 결정함

    • compress, nocompress : 로그파일 gzip으로 압축생성 여부

    • missingok : 로그파일이 없는 경우 에러처리 하지 않음

    • dateext : rotate 파일의 이름에 날짜가 들어가도록 생성

    • size [숫자 K,M,G] : 로그 파일이 크기가 설정보다 커지면 rotate 실행

    • maxage [숫자] : 숫자 날짜 지나면 삭제

    • postrotate : 실행후 스크립트 파일 실행

     endscript : 스크립트를 실행하는 옵션 다음에 들어가야하는 옵션

 

4. 예시

logrotate.conf 파일을 다음과 작성합니다.

/var/log/was.log {
    weeklyly
    create 0664 was wasgrp
    dateext
    rotate 4
    compress
}

'OS > LINUX' 카테고리의 다른 글

[명령어] tar, gz 아카이브 및 추출  (0) 2023.09.05
[명령어] strace 사용법  (1) 2023.08.31
[명령어] stat 명령어  (0) 2023.01.12
[명령어] base64 명령어  (0) 2022.11.18
[명령어] file 명령어  (0) 2021.04.09