A melhor maneira de rodar arquivos de log do Apache [fechado]
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?
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.