YesYo.com MintState Forums
뒤로    YesYo.com MintState BBS > Tech > Linux
검색
멤버이름    오토
비밀번호 
 

logrotate 를 사용하여서 시스템의 로그 관리하기

페이지 정보

작성자 MintState 댓글 0건 조회 14,899회 작성일 08-11-10 12:50

본문

logrotate 를 사용하여서 시스템의 로그 관리하기

제목 : logrotate 를 사용하여서 시스템의 로그 관리하기
분류 : OS : Alzza RedHat 5.2 ( Linux ) , Solaris 2.6
System 관리 - log
활용예 : 아파치 로그에 적용하기
최종 수정일 : 2000-03-01
글 버젼 : 0.2.a
글 쓴이 : 김형숙
Copyright 업슴. 그러나 원문의 인용시 김형숙의 글임을 확인해 주세요.

자신의 리눅스 박스에 Apache 서버가 돌아 간다면 기본 설정으로 apache
log 파일이 생깁니다.
아파치를 소스로 받아서 컴파일 했기에 로그관리에 상당히 어렵더군요.
로그가 100583323 ( 약 10메가 ) 약 3달 정도 쌓여 있더군요.
생각을 하여 보니깐 비 효율 적이더군요.
그래서 마땅히 비효율을 효율로 바꾸어 주는 것을 찾다보니 레드햇 패키지
에 있는
logrotate 였습니다.
이제 logrotate의 쓰임새에 대해서 설명을 드리겟습니다.

0. 목차
1. 소프트웨어 요구 사항
2. logrotate설치
3. logrotate설정
4. 끝마치며

1. 소프트웨어 요구 사항
popt (ftp://ftp.redhat.com/pub/redhat/code/popt) (알짜 5.2는 필요 없슴)
logrotate (ftp://ftp.redhat.com/pub/redhat/code/logrotate) (알짜는 기본)

2. logrotate설치 <== 이부분은 솔라리스의경우에만 해당 됩니다.
2.1 popt
이 부분은 Keizi@mecom.net님께서 소스있는곳을 알려 주셧습니다.
[root@solar popt]# ./configure --prefix=/usr/local/
[root@solar popt]# make all
[root@solar popt]# make install

2.2 logrotate 설치
logrotate는 레드햇 리눅스용인데 솔라리스로 포팅하는 과정에 많은 분들의 도움을 받았습니다.
대표적인 황보현님과 박종대님, 신정식님 , 강재호님에게 감사 드립니다.
[root@solar logrotate]# vi Makefile



[root@solar logrotate]# vi logrotate.c
이 부분은 박종대님께서 가르쳐 주셨고 getopt()는 보통 에 들어 있는 함수입니다.
그래서 getpot.h 을 주석처리 하면 됩니다.



[root@solar logrotate]# vi config.c
이 부분은 황보현님께서 가르쳐 주셧습니다.



[root@solar logrotate]# make
[root@solar logrotate]# make install

3. logrotate 의 설정
3.1 logrotate 의 첫걸음
#-----
[ami@myhome ami ]$man logrotate

------#
라고 해 보시면 정말 상세한 설명이 나옵니다. 이 맨페이지를 보기 싫어 하 시는 저 같은 사람을 위해서 적자면

logorate
rotate, compresses, and mails system logs
라고 되어 있습니다. 위의 말이 logrotate에 대한 설명의 끝이것 같네용^^.
이하 저 같이 위의 말이 실감이 안되는 분을 위해서 짧은 실력으로 설명을 또 드리자면 시스템 로그와 메일로그를 한 파일에 저장을 하면 위의 예같이 정말 많아지죠. 그런데 이 로그들은 다 보관할수록 도움이 정말 많이 되고 그렇다면 어떻게 효율적으로 보관을 하느냐. 즉, rotate ( 회전시키다 ) - 주기적으로 회전 - 하고 필요에 따라서 압축도 하여서 보관을 할수 있게끔 도와 주는 툴이라는 것입니다.

예) /var/log 디렉토리를 보시면 많은 log 들이 있습니다.
이 파일들을 자세히 보시면 연관성을 알고 있습니다.
또 저같은 사람을 위해서 부연 설명 드리자면 mail.log mail.log.1.gz mail.log.2.gz mail.log.3.gz
등의 파일이 있습니다. 즉 기존의 mail.log를 일정 기간이 지나면 mail.log1 로 만들고 압축을 원한다면 mail.log.1.gz로 만든다는 것이죠. 2,3 도 같은 결과 이겠죠.

자 그럼 logrotate 의 필요한 파일은 어떤것이 있느냐?
#-----
[ami@myhome ami]$rpm -ql logrotate
/etc/cron.daily/logrotate # cron 데몬이 실해하는 파일
/etc/logrotate.conf # logrotate 설정 파일
/etc/logrotate.d # conf 파일이 include 시키는 디렉토리
/usr/man/man8/logrotate.8 # man 파일
/usr/sbin/logrotate # 주 프로그램
------#


3.2 logrotate 설정하기
/etc/logrotate.conf 파일이 설정 파일입니다.



여기서 linuxconf 파일 안에 레드햇 apache 패키지에 관한 log 설정이 있습 니다.
이 설정으로 레드햇의 아파치 log가 관리되기 때문에 위의 저의 경우 같은 설정은 필요 없습니다.



3.3 logrotate 실행해 보기
자 설정을 끝 마쳤으면 제대로 설정 되었는지 알아 보는 것입니다.

*-----
[ami@myhome /etc]$/usr/bin/logrotate -d /etc/logrotate.conf

....
....
------*

대충 보시면 이해가 갑니다.
자 이제 본격적인 rotate를 해야 하는데 보통 위헤서 보여주었던 것처럼 /etc/cron.daily/logrotate 파일만 있으며 그냥 기다리시면 됩니다. 자신이 알아서 해 주니깐



솔라리스의 경우 자신이 /var/spool/cron/crontabs/root 에 직접 추가을 해야 합니다.
0 5 * * * /usr/local/sbin/logrotate /etc/logrotate.conf

4. 끝마치며..
저와 같이 아파치를 소스로 받아서 컴파일 하시고 log가 특정 디렉토리에 저장될 경우 위와 같이 해 주시면 도움을 될것이라 생각 됩니다.
솔라리스에 logrotate로서 로그를 관리 해 주면 좋을 것 같은데.. 어떤 로그를 관리 해야 할지 몰라서 그냥 아파치만 관리하고 있습니다.

댓글목록

등록된 댓글이 없습니다.

Total 360건 13 페이지
게시물 검색
모바일 버전으로 보기
CopyRight ©2004 - 2021, YesYo.com MintState. ™