RadarURL

조회 수 702 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

log-rotate-300x299.png

 

리눅스 계열 서버에서 각종 로그를 로테이트시키는 기능은 logrotate 가 담당한다. 

그런데, 이 logrotate 는 cron 데몬에 의해서 실행이 된다. 

 

 

1. logrotate 가 실행되는 과정을 살펴 보자.

 

/etc/crontab 파일에 보면 아래와 같은 구문으로 매일 실행되는 것들의 폴더 위치가 있다. 

02 4 * * * root run-parts /etc/cron.daily

 

위 폴더를 찾아가서 보면, logrotate 가 있다. 

그러므로, 로그로테이트는 매일 4시02분에 하루에 한번씩 실행된다. 

 

logrotate 파일을 열어 보면.. 아래와 같은 구문이 있다. 

/usr/sbin/logrotate /etc/logrotate.conf

 

실제 실행파일의 위치와 설정파일의 위치를 알 수 있다. 

 

이제 /etc/logrotate.conf 파일을 열어 보자..

주요 설정들이 있는데, 역시나 아래와 같은 설정파일을 따로 빼 놓은 인클루드 구문이 있다. 

include /etc/logrotate.d

 

/etc/logrotate.d 폴더에 들어가 보면.. 이제 개별로 로테이트 시킬 로그에 대한 설정들이 들어 있다. ^^

오늘 살펴볼 아파치 서버의 로그를 로테이트 시키는 놈은 apache 나 httpd  와 같은 이름으로 되어 있다. 

물론 다른 이름으로 되어 있을 수도 있으나, 누가 보더라도 직관적인 이름이 좋다. 

 

파일을 열어 보면.. 아래는 필자의 설정파일 이다.

/var/log/httpd/*-access_log /var/log/httpd/*-error_log {

size 500k

rotate 19

missingok

compress

postrotate

/usr/bin/killall -HUP httpd

endscript

}

 

위 세팅에 대한 설명은..

virtual host 세팅으로 여러 도메인의 로그가 따로 저장되어 있으며, 

로그파일 사이즈가 500k 가 넘으면 로테이트 시키고 지난 19 건 이전 것은 삭제한다. 압축저장한다.

 

또다른 설정을 만들어 보면..

/var/log/httpd/*-access_log /var/log/httpd/*-error_log {

missingok

rotate 5

weekly

notifempty

sharedscripts

postrotate

/usr/local/apache/bini/apachectl restart

endscript

}

 

위 세팅의 조건은 매주 실행되고 빈파일은 로테이트 하지않으며 5건 이전 것은 삭제한다. 

 

 

2. 강제로 로테이트를 시켜 보자.. 

 

위 설정대로 일주일에 한번만 실행하라고 세팅하면, 오늘 실행후 일주일을 기다려야 한다. 

하지만, 잘 되는지 확인해 보고자 할 때가 있다. 

 

이때는, logrotate 가 실행된 날짜가 저장되어 있는 파일을 찾아 날짜를 조작하면 된다. 

해당 파일은 /var/lib/logrotate.status  이다. 

열어 보면 아래와 같은 구문이 보인다. 

"/var/log/httpd/www.domain.com-access_log" 2014-10-1

 

여기서 맨 뒤에 있는 날짜가 마지막 실행된 날짜 이므로 이 날짜를 일주일 전으로 수정하면 된다. 

그리고, logrotate 를 실행한다. 

# /etc/cron.daily/logrotate

 

로그 파일을 살펴보면, 로그가 로테이트 되었음을 볼 수 있다. 

 

 

* 참고 및 이미지 출처 : http://www.thegeekstuff.com/2010/07/logrotate-examples/#more-4826

 

출처 : http://moyaria.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-logrotate-%EC%97%90%EC%84%9C-%EB%A1%9C%EA%B7%B8%ED%8C%8C%EC%9D%BC-%EA%B0%95%EC%A0%9C%EB%A1%9C-rotate-%EC%8B%9C%ED%82%A4%EA%B8%B0

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 928104
41 유닉스/리눅스 리눅스(Linux) 디렉토리 구조 file JaeSoo 2016.10.20 693
40 유닉스/리눅스 [리눅스] IP 설정 변경 하기 file JaeSoo 2016.08.23 326
39 유닉스/리눅스 리눅스 설치후 초기설정해야 할 것들 [2] file JaeSoo 2016.07.13 400
38 유닉스/리눅스 리눅스 설치후 초기설정해야 할 것들 [1] file JaeSoo 2016.07.13 360
37 유닉스/리눅스 리눅스 호스트명 변경 JaeSoo 2016.05.11 728
» 유닉스/리눅스 리눅스 logrotate 에서 로그파일 강제로 rotate 시키기 file JaeSoo 2016.03.30 702
35 유닉스/리눅스 리눅스 시간 맞추기 : Time Server와 Sync (rdate, date) JaeSoo 2016.03.19 707
34 유닉스/리눅스 리눅스 실시간으로 로그 보기 tail 명령어 JaeSoo 2015.03.16 639
33 유닉스/리눅스 리눅스(Linux)에서 하위 디렉토리까지 파일 찾기, 찾아서 지우기 JaeSoo 2015.02.24 855
32 유닉스/리눅스 데비안 리눅스 로그 관리 JaeSoo 2015.01.13 424
31 유닉스/리눅스 리눅스 로그파일관리 (logrotate) file JaeSoo 2015.01.13 745
30 유닉스/리눅스 리눅스 logrotate를 활용한 로그 관리 (compress, lotate) JaeSoo 2015.01.13 564
29 유닉스/리눅스 리눅스로 MRTG 트래픽분석서버 구축 JaeSoo 2014.12.26 706
28 유닉스/리눅스 리눅스 - 디스크 검사 및 파일 시스템 복구 (badblocks, fsck) JaeSoo 2014.12.26 754
27 웹서버,WAS 리눅스 webalizer를 통한 apache log(웹서버 접속 통계) 분석하기 (추천) JaeSoo 2014.12.25 1098
26 웹서버,WAS 리눅스 아파치 로그 뷰어 webalizer, utf-8로 변환하기 file JaeSoo 2014.12.22 880
25 유닉스/리눅스 리눅스 버전 확인(centos, redhat) 하는 명령어 JaeSoo 2014.11.18 1121
24 유닉스/리눅스 리눅스 자동 백업 스크립트 JaeSoo 2014.11.18 844
23 유닉스/리눅스 리눅스 스케줄 설정 crontab JaeSoo 2014.11.18 799
22 유닉스/리눅스 리눅스 스케줄러 crontab 이용하기 file JaeSoo 2014.10.20 1106
Board Pagination Prev 1 2 3 Next
/ 3


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너