Pergunta

Eu tenho um servidor Apache que tem um acesso de arquivo de log que é formador de 600MB.Isto torna muito difícil para procurar o arquivo ou analisá-lo.
O que o software ou módulos para o Apache estão disponíveis, que irá fazer uma cópia diária do meu arquivo de acesso para torná-lo mais manejável?

Foi útil?

Solução

Você olhou para logrotate - este é provavelmente o mais simples, mais amplamente disponível e bem entendido método para atingir este objectivo.Ele é altamente configurável e provavelmente vai fazer 90% do que você precisa.

Outras dicas

Eu sou um grande fã de Cronolog.Basta instalar e tubo de seus registros através dele.Para log diário de rotação, algo como isso funciona:

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

Muito útil, e uma vez instalado, o mais fácil (na minha experiência) que o logrotate.

O real comando para o Windows, o que é bastante difícil encontrar on-line é:

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

Onde o "internet_access" bit é o nome que você escolher para seus arquivos, o 86400 é o número de segundos em um dia.Você precisa alterar o Apache-Caminho relevante para o diretório que você instalou o Apache.

logrotate

logrotate é provavelmente a melhor solução.Use o arquivo /etc/logrotate.conf para alterar as configurações de todos os registos.Van você alterar weekly para daily assim, os registos são alternados a cada dia.Além disso, você pode querer adicionar compress portanto, os arquivos estão compactados.Se você não se preocupam os logs antigos, você pode definir girar rotate 4 para algo mais baixo.

CustomLog "|bin/rotatelogs /var/logs/logfile 5M" comuns

Esta configuração vai rodar o arquivo de log sempre que atingir um tamanho de 5 megabytes.

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

Esta Seria a Melhor Maneira de Redirecionar logs do Apache.Não há necessidade de compilar mod com o httpd.

rotatelog.exe ou cronolog.exe no sistema operacional windows.Eles são usados em tubos de comando em http.conf Mod_log_rotate adicional de módulo para o apache APENAS para acesso a rotação de log Logrotate SÓ para o sistema operacional unix.

Eu tenho um módulo que faz isso para você, sem a necessidade de tubulações externos etc :

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

Eu tentei adicioná-lo para o Apache conjunto de módulos, mas que parece ter sido quebrada por um tempo agora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top