Apache의 error_log 및 access_log를 관리하는 방법은 무엇입니까?

Apache의 error_log 및 access_log를 관리하는 방법은 무엇입니까?

error_log내 파일이 점점 더 커지고 있음 을 확인했습니다 .

LogLevel을 변경해 보았습니다 httpd.conf.

LogLevel debug

도착하다

LogLevel emerg

favicon.ico하지만 여전히 찾을 수 없다는 오류가 표시됩니다 .

을 삭제하면 error_log을 다시 시작해야 하며 apache이로 인해 현재 뷰어에 약간의 가동 중지 시간이 발생하게 됩니다.

  • 알릴 방법이 있나요apache 아니요무엇을 쓰나요 error_log?
  • 아니면 (닫혀 있지 않은 경우) 1MB를 초과하지 않도록 하는 방법이 있습니까?

"아카이브"가 만들어지고 있다는 것을 알았지 access_logs만 아예 만들지 않는 편이 낫습니다.

이러한 아카이브는 access_logs삭제됩니까, 아니면 직접 삭제해야 합니까?

답변1

logrotate로그를 회전하고(날짜, 크기 등을 기준으로) 보관할 파일 수를 선택할 수 있는 를 사용할 수 있습니다 . 예를 들어, 이것은 내 Apache 구성 파일입니다.

/var/log/apache2/*.log {
        weekly
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
                if /etc/init.d/apache2 status > /dev/null ; then \
                    /etc/init.d/apache2 reload > /dev/null; \
                fi;
        endscript
}

답변2

당신은 다음과 같은 것을 사용할 수 있습니다타이밍 로그웹 서버 로그 파일을 관리합니다. cronolog를 사용하면 웹 서버를 종료했다가 다시 시작하지 않고도 로그 파일을 자동으로 순환할 수 있습니다.

발췌

cronolog는 표준 입력에서 로그 파일 항목을 읽고 파일 이름 템플릿과 현재 날짜 및 시간으로 지정된 출력 파일에 각 항목을 쓰는 간단한 필터 프로그램입니다. 확장 파일 이름이 변경되면 현재 파일이 닫히고 새 파일이 열립니다. cronolog는 Apache와 같은 웹 서버와 함께 사용하여 액세스 로그를 일일 또는 월간 로그로 분할하도록 설계되었습니다.

관련 정보