programing

Apache 로그 파일을 회전하는 가장 좋은 방법

nasanasas 2020. 11. 18. 09:13
반응형

Apache 로그 파일을 회전하는 가장 좋은 방법


600MB를 초과하는 액세스 로그 파일이 하나있는 Apache 서버가 있습니다. 이로 인해 파일을 검색하거나 파싱하기가 정말 어렵습니다.
더 쉽게 관리 할 수 ​​있도록 매일 액세스 파일을 복사하는 Apache 용 소프트웨어 또는 모듈은 무엇입니까?


logrotate를 보셨습니까 ? 이것은 아마도 가장 간단하고 널리 사용 가능하며 잘 이해 된 방법 일 것입니다. 고도로 구성 가능하며 필요한 작업의 90 %를 수행 할 것입니다.


나는 Cronolog 의 열렬한 팬입니다 . 로그를 설치하고 파이프하기 만하면됩니다. 일일 로그 회전의 경우 다음과 같이 작동합니다.

ErrorLog  "|/usr/bin/cronolog /path/to/logs/%Y-%m-%d/error.log"
CustomLog "|/usr/bin/cronolog /path/to/logs/%Y-%m-%d/access.log" combined

logrotate보다 매우 편리하고 일단 설치되면 (내 경험상) 쉽습니다.


온라인에서 찾기가 매우 어려운 Windows의 실제 명령은 다음과 같습니다.

CustomLog '|" "*Apache-Path/bin/rotatelogs.exe" 
    "**Apache-Path*/logs/backup/internet_access_%d-%m-%y.log" 86400' combined

"internet_access"비트는 파일에 대해 선택한 이름이고 86400은 하루의 시간 (초)입니다. Apache-Path를 Apache를 설치 한 관련 디렉토리로 변경해야합니다.


로그

logrotate아마도 최고의 솔루션 일 것입니다. 파일 /etc/logrotate.conf사용하여 모든 로그의 설정을 변경하십시오. 통나무가 매일 회전되도록 변경 weekly합니다 daily. 또한 compress아카이브가 압축되도록 추가 할 수도 있습니다 . 이전 로그에 관심이 없다면 회전 rotate 4을 더 낮게 설정할 수 있습니다 .


CustomLog "| bin / rotatelogs / var / logs / logfile 5M"공통

이 구성은 5MB 크기에 도달 할 때마다 로그 파일을 회전합니다.

ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M" 

이것은 Apache 로그를 리디렉션하는 가장 좋은 방법입니다. httpd로 mod를 컴파일 할 필요가 없습니다.


Windows OS의 rotatelog.exe 또는 cronolog.exe. http.conf의 파이프 명령에서 사용됩니다. Mod_log_rotate 아파치 용 추가 모듈은 액세스 로그 회 전용으로 만 사용됩니다. Logrotate는 유닉스 OS 전용입니다.


외부 파이프 등이 필요없이이 작업을 수행하는 모듈이 있습니다.

http://www.poptart.org/bin/view/Poptart/ModAutorotate

나는 그것을 Apache 모듈 컬렉션에 추가하려고 시도했지만 잠시 동안 깨진 것 같습니다.

참고 URL : https://stackoverflow.com/questions/44048/best-way-to-rotate-apache-log-files

반응형