본문 바로가기

OS/Linux 일반

rotate

리눅스에서 서버를 운영하시다 보면 로그를 보고 서버의 상태 혹은 장애를 대비합니다 그래서 대부분의 모든로그는 남기도록 설정하는데 이러한 로그들은 시간이 점점 지나면서 엄청난 크기로 커지게 된다.

 

크기로 커지기 전에 로그을 관리하도록 설정하는 기능이 logrotate 입니다

 

Logrotate 실행순서

 

Logrotate 실행 순서

 

Logrotate 파일 구조

 

데몬 프로그램 : /usr/sbin/logrotate

Logrotate 데몬 : /etc/logrotate.conf

Logrotate 프로세스 : /etc/logrotate.d/

Logrotate 작업내역 : /etc/cron.daily/logrotate

 

/etc/logrotate.conf 설정하기

 

1. 로그 회전주기

# rotate log files weekly

weekly

 

로그 회전을 원하시는 주기를 설정입니다

yearly : 매년

monthly : 매월

weekly : 매주

daily : 매일

 

2. 로그파일 개수

# rotate log files weekly

weekly

# keep 4 weeks worth of backlogs

rotate 5

정리할 로그의 개수를 지정하는 부분입니다 로그 회전주기에 따라 진행됩니다

 

3. 새로운 로그파일 생성여부

# rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 5 # create new (empty) log files after rotating old ones create

 

로그파일을 정리한 후 로그파일을 생성여부입니다

create : 로그파일 생성

empty : 로그파일 생성 안함

 

4. 파일명 날짜 부여

# rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 5 # create new (empty) log files after rotating old ones create # use date as a suffix of the rotated file dateext

 

Logrotate가 실행한뒤 로그파일에 날짜를 부여합니다

dateext : 로그 파일명의 날짜 부여

 

5. 로그파일 압축여부

# rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 5 # 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

 

로그파일 압축여부 입니다 - (압축하여 로그파일의 크기를 조절할수 있습니다)

compress : 로그파일 압축

 

6. 개별 로그정리 프로세스(데몬) 경로

# rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 5 # 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

 

디렉토리를 지정하여 Logrotate를 할수 있습니다

include [경로] : Logrotate 프로세스(데몬) 지정

 

/etc/logrotate.d 설정하기

apache 로그를 이용한 /etc/logrotate.d 파일 밑에 설정을 해보도록 하겠습니다

 

1. apache 로그 Logrotate(로테이트) 설정하기

[root@server ~]# cat /etc/logrotate.d/apache /server/apache2/logs/*log { daily rotate 5 notifempty missingok compress sharedscripts postrotate /server/apache2/bin/apachectl graceful endscript }

 

/etc/logrotate.d/apache 상세설명 

daily : 일단위로 실행합니다 

rotate 5 : 회전 주기를 설정합니다 

notifempty : 로그파일의 내용이 없을경우 rotate 하지 않습니다 

missingok : 로그파일이 없을경우 에러메시지를 출력하고 다음으로 실행합니다 

compress : 로그파일을 압축합니다 

sharedscripts : 여러개의 로그파일을 스크립트로 공유하여 실행합니다 

postrotate : 실행 후 스크립트 파일 실행합니다 

/server/apache2/bin/apachectl graceful 

endscript : 실행 후 스크립트 파일 실행합니다

 

2. Logrotate(로테이트) 실행

[root@server ~]# /usr/sbin/logrotate -f /etc/logrotate.d/apache

 

3. Logrotate(로테이트) 디버그 모드

[root@server ~]# /usr/sbin/logrotate -d /etc/logrotate.d/apache

 

3. Logrotate(로테이트) 실행과정 화면의 표시

[root@server ~]# /usr/sbin/logrotate -v /etc/logrotate.d/apache

 

 

 

'OS > Linux 일반' 카테고리의 다른 글

디렉토리와 모든 하위 디렉토리의 용량  (0) 2020.03.11
사용하는 포트 프로세스 확인  (0) 2020.03.11