lunes, 3 de junio de 2013

Rotar todos los ficheros de log de XAMPP


El primer método que encontré para rotar los log de virtualhost configurados en XAMPP es este; pero obliga a modificar en varios puntos el fichero /opt/lampp/etc/extra/httpd-vhosts.conf.

CustomLog "|/opt/lampp/bin/rotatelogs /opt/lampp/logs/www.midominio.com-access_log 5M" common
Si tienes muchos virtualhost configurados, puede ser una tarea algo pesada. No obstante encontré otro método para aplicar esta configuración a cualquier fichero de log de cualquier sistema. Obviamente se trata de una herramienta externa llamada logrotate.

Para configurar logrotate basta con crear el fichero "/etc/logrotate.d/lampp" con el siguiente contenido:
/opt/lampp/logs/*_log {
    copytruncate
    compress
    dateext
    rotate 365
    size=+100M
    olddir /opt/lampp/logs/old/
    notifempty
    missingok
}
Antes de lanzar el proceso hay que crear el directorio destino de los ficheros rotados, como vemos en el fichero de configuración hemos definido "/opt/lampp/logs/old/" así que tendremos que crearlo para que pueda mover los ficheros rotados ("mkdir /opt/lampp/logs/old/"). Y después ejecutar el comando "logrotate --force /etc/logrotate.d/lampp" y los ficheros serán rotados.