logging - memoria - optimizar apache worker
¿Cómo puedo limitar el tamaño del access_log de Apache y limitar el número de registros archivados que mantiene? (3)
En la mayoría de las distribuciones de Linux, el sistema está configurado para ejecutar logrotate diariamente. No lo verás en el crontab para root o para ningún usuario en particular.
Es fácil cambiar la forma en que maneja los archivos de registro. En mi servidor Ubuntu, el archivo /etc/logrotate.conf
tiene configuraciones como las siguientes:
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
#compress
[etc.]
Y, puede buscar en el directorio /etc/logrotate.d/
para ver la configuración de directorios y aplicaciones específicas.
El archivo access_log de Apache gira en una copia archivada alrededor de 1 GB cada pocos días. ¿Dónde están los ajustes para controlar esto? Me gustaría poder controlar tanto el tamaño máximo como la cantidad de registros archivados que conserva. ¿Es esto parte de la configuración de apache, o debo escribir trabajos cron (y otros) para lidiar con esto? Estoy ejecutando httpd pre-forked.
La forma habitual es ejecutar logrotate
desde un cronjob, que puede cortar, cortar, comprimir, renombrar, mantener la última n y la mayoría de las otras cosas que uno podría desear. (Creo que la mayoría de las distribuciones en estos días lo instalan por defecto).
Yo usaría rotatelogs, una herramienta ubicada en el directorio de apache bin.
Consulte http://httpd.apache.org/docs/current/programs/rotatelogs.html para obtener más información y ejemplos. Tiene la ventaja de existir en mi sistema HP-UX.
O como se mencionó anteriormente, puede usar la herramienta logrotate que viene con la mayoría de las distribuciones.