apache log rotate 시키기

2012.08.14 19:22

ischo 조회 수:17151

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

원문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

rpm 으로 설치되어있는 log rotate를 사용하여 각종 로그 rotate 시키기.

 

 

1. rpm 설치 확인

# rpm -qa | grep logrotate

 

 

2. 로그 대상 확인 (소스컴파일된 아파치)

 : /usr/local/apache/logs/*log

 

3. log rotate 설정

# cd /etc/logrotate.d

# ls

acpid   cyrus-imapd  mgetty  privoxy  radiusd    samba           squid    tux      vsftpd.log
conman  exim         kdm            named   psacct   rpm        setroubleshoot  syslog   up2date  wpa_supplicant
cups    httpd        mailman        ppp     quagga   sa-update  snmpd           tomcat5  uucp     yum
   -- 기존설정 파일을 하나 복사해서 사용할 것임

# cp httpd apache-log

# vi apache-log

/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true                 : 여기는 rpm 설치된 아파치를 위해서 설정된 부분임.
    endscript                                                                                               소스컴파일된 아파치를 reload 시킬수 없으므로 수정
}

--> 다음과 같이 수정

/usr/local/apache/logs/*_log {
    missingok
    notifempty
    sharedscripts
    daily                                    : 매일
    rotate 90                              : 90일간
    postrotate
        /bin/kill -HUP `cat /usr/local/apache/logs/httpd.pid 2 > /dev/null` 2 > /dev/null || true    : 아파치 reload
    endscript
}

 

4. 테스트

# logrotate -d /etc/logrotate.conf

설정오류가 있다면 여기서 오류가 남.

 

 

* 참고

  이 logrotate 설정은 다음 설정파일에 의해서 매일 동작한다.

# cat /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

 

logrotate는 위 디렉토리들에 모두 등록되어있으므로 daily 설정이라면 매일 04시 02분에 동작할 것이다.

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 게시자료 열람자유. 불펌금지입니다. 조인상 2010.12.07 30768
64 CentOS 6 에서 XDMCP 활성화 방법 ischo 2012.02.25 15235
63 쉘스크립트에서 응용가능한 date 포맷 ischo 2012.10.18 15027
62 vsftpd 포트변경 방법 조인상 2010.05.12 14866
61 CentOS 6.4 에서 Apache 2.4버전 RPM build 하기 file ischo 2014.07.29 14852
60 백그라운드로 프로세스 실행시키기 ischo 2011.08.25 14814
59 shell script를 cron으로 동작시킬때 .bashrc .bash_profile의 변수가 적용되지 않는다 ischo 2017.09.08 14805
58 복수서버들의 서비스포트 응답여부를 확인하여 메일로 보내주는 스크립트 file ischo 2012.01.17 14656
57 리눅스환경에서 RedOwl 정지시키기 조인상 2010.05.27 14486
56 NFS 관련 명령어 및 파일들 조인상 2010.05.12 14450
55 telnet 으로 메일 보내기 ischo 2011.12.07 14394
54 불특정 파일리스트 FTP 전송 스크립트 file ischo 2011.02.18 14179
53 ubuntu 에서 /boot 파일시스템 full 날 경우 이미지 삭제방법 ischo 2014.05.12 14070
52 OpenSSL 다중취약점 보안업데이트 [1] ischo 2015.04.02 13888
51 프로세스 생사여부 검사후 메일보내는 쉘스크립트 file ischo 2011.11.10 13552
50 case로 만드는 오라클 서비스 관리 ksh 스크립트 예제 ischo 2010.06.18 13494
49 sendmail 기반의 Squirrelmail (다람쥐메일)설치기법 조인상 2010.05.12 13170
48 2G이상 파일 tar 로 생성 / 분할생성(복사) 조인상 2010.05.12 12998
47 kill 명령어로 줄수 있는 interrupt list ischo 2012.08.17 12530
46 터미널에서 한글을!! Unicon 소개/설치 조인상 2010.05.12 12369
45 xinetd 모드로 proftpd 변경 조인상 2010.05.12 12364
서버에 요청 중입니다. 잠시만 기다려 주십시오...