본문 바로가기
리눅스

[리눅스] logrotate 로그 파일 관리

by 깅민 2022. 10. 30.

logrotate

로그 파일을 여러 개로 분할해주는 프로그램

 

-로그 파일의 자동 로테이션

-압축 기능

-제거

 

각각의 로그 파일은 하루, 일주일, 한 달 단위로 로테이션 할 수 있다.

기본적인 로그 설정 : /etc/logrotate.conf

응용 프로그램은 : /etc/logrotate.d 디렉토리에 내 위치

 

cron에 의해 스케줄링

 

logrotate [option] [file]

 

옵션 설명
-f 강제로 설정 파일을 읽어들여서 실행 (--force)

logrotate -f /etc/logrotate.conf

 

옵션 설명
weekly 로그 파일을 일주일마다 로테이트
가장 맨 위에 등록되어 있는 경우 특별히 명시하지 않은 로그 파일들은 이 파일의 적용을 받는다.
기간과 관련된 옵션 (daily, weekly, monthly, yearly)
rotate 4 최대 4번까지 rotate를 하는 설정
기본 logfile, logfile.1 형태로 생성
create 로테이트를 한 후에 비어 있는 로그 파일을 생성하도록 설정
dateext 로테이션으로 생성되는 로그 파일에 해당 날짜를 덧붙여서 생성
maillog : maillog-20221030
compress 로테이트한 후에 생성된 로그 파일을 압축할 때
include /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개만 생성

 


2102

  1. /var/log/btmp
  2. weekly
  3. create 0600 root utmp
  4. minsize 1M

 

1701

logrotate를 이용하여 로그 파일을 관리하려고한다. 아래 조건에 맞게 ( 괄호 ) 안에알맞은 내용을 적으시오.

/var/log/web {
( ① )
( ② ) 10
create ( ③ ) admin webserver
( ④ )

조 건
- ① 파일의 순환(rotate) 주기는 하루 단위로 지정한다.
- ② 최대 10번까지 로테이트를 하도록 지정한다.
- ③ 소유자는 admin, 소유그룹은 webserver로 설정하고, 파일의 허가권은 소유권자의 읽기, 쓰기 권한만 지정한다. - ④ 로테이션으로 생성되는 로그 파일에 해당 날짜를 “YYYYMMDD”형식의 덧붙여 저장한다.

daily

rotate

0600

dateext

 

 

1801

1. /etc/logrotate.conf

2. /var/log/wtmp

3. create 0600 root utmp (create 0600 root root / 0600 대신에 0660 가능)

 

 


 

참고

https://jinane.tistory.com/11

https://starrykss.tistory.com/1816

 

'리눅스' 카테고리의 다른 글

[리눅스] rsync 백업  (0) 2022.10.30
[리눅스] SELinux, getenforce, setenforce  (0) 2022.10.30
[리눅스] 로그 파일, last, lastlog, lastb  (0) 2022.10.29
[리눅스] 시스템 로그  (0) 2022.10.29
[리눅스] LVM, 물리-논리 볼륨  (0) 2022.10.29

댓글