Pregunta

Tengo un servidor Apache que tiene un archivo de registro de acceso que supera los 600 MB.Esto hace que sea realmente difícil buscar el archivo o analizarlo.
¿Qué software o módulos para Apache están disponibles que harán una copia diaria de mi archivo de acceso para hacerlo más manejable?

¿Fue útil?

Solución

¿Has mirado logrotate - Este es probablemente el método más simple, más ampliamente disponible y mejor comprendido para lograrlo.Es altamente configurable y probablemente hará el 90% de lo que necesita.

Otros consejos

Soy un gran fan de cronólogo.Simplemente instale y canalice sus registros a través de él.Para la rotación diaria de registros, algo como esto funcionaría:

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

Bastante útil y, una vez instalado, más fácil (en mi experiencia) que logrotate.

El comando real para Windows, que es bastante difícil de encontrar en línea, es:

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

Donde el bit "internet_access" es el nombre que elige para sus archivos, el 86400 es la cantidad de segundos en un día.Debe cambiar Apache-Path al directorio relevante en el que instaló Apache.

logrotate

logrotate es probablemente la mejor solución.usa el archivo /etc/logrotate.conf para cambiar la configuración de todos sus registros.tu furgoneta cambia weekly a daily por eso los troncos se rotan todos los días.Además, es posible que desee agregar compress entonces los archivos están comprimidos.Si no le importan los registros antiguos, puede configurar rotar rotate 4 a algo más bajo.

CustomLog "|bin/rotatelogs /var/logs/logfile 5M" común

Esta configuración rotará el archivo de registro cada vez que alcance un tamaño de 5 megabytes.

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

Esta sería la mejor manera de redirigir los registros de Apache.No es necesario compilar mod con httpd.

rotatelog.exe o cronolog.exe en el sistema operativo Windows.Se utilizan en el comando de tubería en http.conf mod_log_rotate módulo adicional para apache solo para el registro de acceso logrotate solo para unix sistema operativo.

Tengo un módulo que hace esto por usted sin necesidad de tuberías externas, etc.:

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

Intenté agregarlo a la colección de módulos de Apache, pero parece que no funciona desde hace un tiempo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top