[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: