Re: Rutina en logrotate para Apache2
El Sun, 16 Jan 2011 01:21:47 +0100, Javier Barroso escribió:
(Respondo a este último correo pero la respuesta va para los dos,
Fernando y Javier)
> 2011/1/15 Camaleón:
>> Estoy buscando una rutina para la rotación de los registros de Apache2
>> (lenny).
(...)
> En Debian tratan de homogenizar las cosas usando logrotate, hay algunos
> programas que tradicionalmente han rotado sus logs por su cuenta, pero
> hay esfuerzos de que los paquetes debian confien en logrotate.
>
> En el caso particular de apache, podrías configurarlo como dicen en la
> página de apache [1], con un script llamado rotatelogs (tendrías, por
> supuesto, que desconfigurar el logrotate). Yo veo mejor usar logrotate.
Sí, lo estuve mirando (fíjate que la idea de nombrar el archivo con la
coletilla de la fecha de ejecución del script -yyyymmddhhmmss- la tuve
precisamente al leer el manual del "rotatelogs") pero lo descarté porque
pensaba que "logrotate" sería más potente (entiendo que en un "appliance"
con restricciones de espacio/recursos donde no se tenga instalado
"logrotate" esta opción que tiene integrada Apache2 puede venir muy bien).
> Creo que te faltaría poner la opción "nocompress" (y quitar la opuesta),
> ya que no quieres que se compriman los logs
Sí, esa era mi idea inicial, que no se comprimieran para generar un
archivador comprimido al finalizar el año con todos los registros
mensuales, pero al ver que "logrotate" no incorpora una rutina para
hacerlo automáticamente (creo que no, vaya, seguiré buscando de todas
formas), pues casi que los dejo comprimidos cada mes, así gano algo de
espacio (los registros mensuales tienen un tamaño de unos ~40/50 MiB en
bruto, sin comprimir, y al ser todo texto se obtiene una buena tasa de
compresión (94-95%) por se gana bastante espacio :-)
>> De momento, los archivos de registro que genera Apache2 mantienen el
>> nombre de "access.log, error.log", aunque supongo que hasta febrero no
>> se creará el archivo nuevo.
>>
>> ¿Sugerencias? :-)
>
> Cuéntanos si consigues hacer exactamente lo que quieres sólo con
> logrotate, yo creo que más bien me haría un cutre-script ... sobre todo
> para comprimir todos los logs del año en un fichero .. quizás como han
> comentado por aquí usando el postrotate (comprobar que no exista un
> fichero comprimido de ese año y luego generarlo)
Sí, eso es lo que estaba pensando, tal y como comentaba Fernando, que
tendría que tirar de algún script que se encargara de esto, pero tengo
que mirarlo con calma porque el "postrotate" se ejecuta tras cada
rotación (en mi caso, cada mes) pero sólo debería ejecutar la compresión
de los archivos tras 12 rotaciones (que sería 1 año) y no sé bien cómo
obtener esa variable (hum, ¿podría usar un "if rotate > 12 then gzip"?)
O:-).
> Saludos
> [1] http://httpd.apache.org/docs/2.0/programs/rotatelogs.html
Saludos y gracias a los dos por las sugerencias.
--
Camaleón
Reply to: