Apache (Windows 용)에서 매일 오류 및 액세스 로그를 얻는 방법은 무엇입니까?


10

우리는 하나의 서버에 구성된 몇 개의 가상 호스트로 Apache 2.2.9 (Win32)를 실행하고 있습니다. 각각에는 "logs / [도메인 이름] -error.log"및 "logs / [도메인 이름] -access.log"형식의 고유 한 ErrorLog 및 CustomLog 설정이 있습니다. 불행히도 이것들은 이제 상당히 큰 파일을 만들고 있습니다.

IIS에서는 매일 "yymmdd.log"형식으로 로그 일정을 지정할 수 있습니다. 내가 여기서 할 수있는 비슷한 것이 있습니까?

매일, 매주 또는 매월 할 필요는 없습니다. 나는 우리가 기록 된 모든 것 대신 X 양을 유지할 수 있도록 그것들을 분해하고 싶습니다. 빠른 Google은 Windows 설치에 너무 도움이되지 않는 로그 스플리터, 스크립트 및 cron 작업과 관련된 많은 Linux 지향 답변을 제공하는 것으로 보입니다.

최신 정보

반경 덕분에, 나는 내 쥐게 아파치 - vhosts.conf를 아파치에 내장 된 사용 ROTATELOGS의 다음과 같은 형식으로 명령을 :

ErrorLog "|bin/rotatelogs logs/[domain name]-error.%Y-%m-%d-%H_%M_%S.log 5M" CustomLog "|bin/rotatelogs logs/[domain name]-access.%Y-%m-%d-%H_%M_%S.log 5M" common

현재 로그 파일이 5MB에 도달하면 새 로그 파일을 만듭니다. 나는 그것이 요청 한대로 매일이 아니라는 것을 알고 관리 가능한 크기로 유지합니다. 너무 많은 초 후에 회전을 시도했지만 파일 이름에 타임 스탬프를 정확하게 넣지 않는 것 같습니다 (특히 시간, 분 및 초).

답변:


11

당신이 찾고있는 것은 아파치와 함께 제공되는 rotatelogs 프로그램입니다 http://httpd.apache.org/docs/2.2/programs/rotatelogs.html

예를 들어 매일 자정에 로그를 교체하려면

CustomLog "|bin/rotatelogs -f /var/log/apache2/logfile.%Y.%m.%d.log 86400" common

+1, Apache가 자체 솔루션을 가지고 있다는 것을 몰랐습니다.
Karolis T.

우분투를 사용하는 누군가를 위해 당신의 경로를 변경해야 할 수도 있습니다 /usr/bin/rotatelogs곳이기 때문에, rotatelogs발견된다. 그렇지 않으면 오류로 인해 Apache가 다시 시작되지 않습니다.
BadHorsie



0

와 직접 시도

CustomLog "|C:/<chemin vers apache>/bin/rotatelogs.exe E:/<chemin vers les logs>/<monsite>/access-%Y_%m_%d.log 86400 60" combined

2
이것이하는 일에 대한 설명을 추가하십시오.
kasperd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.