24시간 마다 아파치 로그 순환하기 :: 리눅스일반[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

리눅스일반
[1]
등록일:2008-06-04 10:11:53 (0%)
작성자:
제목:24시간 마다 아파치 로그 순환하기

로그를 파이프로 보내기

아파치 웹서버는 오류 로그와 접근 로그를 파일에 직접 쓰지않고 파이프를 통해 다른 프로세스로 보낼 수 있다. 이 기능을 사용하면 서버에 코드를 추가하지않고도 매우 유연하게 로그를 처리할 수 있다. 로그를 파이프에 쓰기위해 파일명 자리에 파이프문자 "|"와 뒤에 표준입력으로 로그 항목을 읽을 실행파일명을 적으면 된다. 아파치는 서버가 시작할때 파이프로 연결할 로그 프로세스를 시작하고, 서버가 실행되는 동안 프로세스가 죽으면 다시 시작한다. (이 마지막 기능때문에 우리는 이 방법을 "믿을 수 있는 파이프 로그"라고 부른다.)

파이프로 연결된 로그 프로세스는 부모 아파치 httpd 프로세스가 띄우고, 프로세스의 userid도 같다. 즉, 파이프로 연결된 로그 프로그램은 보통 root로 실행된다. 그러므로 프로그램을 간단하고 안전하게 만드는 것이 매우 중요하다.

파이프로 부르는 전체 명령어를 따옴표로 묶음을 명심하라. 이 예는 접근 로그에 대한 것이지만, 오류 로그도 마찬가지다.

서버를 재시작하지않고 로그를 순환할 수 있는 것이 파이프 로그를 사용하는 중요한 이유다. 아파치 웹서버는 이를 위해 rotatelogs라는 간단한 프로그램을 포함한다. 예를 들어 24시간마다 로그를 순환한다면:

CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common

다른 사이트에 cronolog라는 비슷하지만 훨씬 더 유연한 로그 순환 프로그램이 있다.

조건부 로그와 같이 파이프 로그는 매우 강력한 도구지만, 나중에 처리하는 등의 더 간단한 방법이 가능한 경우 사용해서는 안된다

 

*자공 예제 (httpd.conf)

(중략)

ErrorLog "|/home/wxh001/apache/bin/rotatelogs /Backup/logs/error_log 86400"

(중략)

CustomLog "|/home/wxh001/apache/bin/rotatelogs /Backup/logs/access_log 86400" common

(중략)

[본문링크] 24시간 마다 아파치 로그 순환하기
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=30211
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.