Rutina en logrotate para Apache2
Hola,
Estoy buscando una rutina para la rotación de los registros de Apache2
(lenny).
La idea es que se genere un archivo cada mes con el siguiente formato:
access.2011-01-yyyymmddhhmmss.log
access.2011-02-yyyymmddhhmmss.log
access.2011-03-yyyymmddhhmmss.log
(...)
error.2011-01-yyyymmddhhmmss.log
error.2011-02-yyyymmddhhmmss.log
error.2011-03-yyyymmddhhmmss.log
Y que esos registros se compriman en un archivo único cada año:
access.2011-yyyymmddhhmmss.log.gz
access.2012-yyyymmddhhmmss.log.gz
access.2013-yyyymmddhhmmss.log.gz
("yyyymmddhhmmss" sería la marca de tiempo de cuando se ejecuta la
rotación)
Tampoco quiero que borre automáticamente nada, es decir, que los
registros anuales comprimidos permanezcan almacenados en su sitio con el
contenido de todos archivos mensuales.
Ahora mismo tengo:
***
/etc/logrotate.d/apache2
/var/log/apache2/*.log {
monthly
missingok
compress
delaycompress
notifyempty
create 640 root adm
sharedscripts
postrotate
[...]
endscript
***
Pero al ejecutar un simulacro ("/usr/sbin/logrotate -d") veo algo que no
me gusta ("old logs are removed") por lo que me parece que estoy poniendo
algo mal. Y por otra parte, no sé cómo decirle que los registros
mensuales no se compriman sino que se genere un archivo comprimido sólo
cada año, con todos los meses.
La otra duda que tengo es quién se encarga de poner el nombre+coletilla
de la fecha a los archivos ¿Apache2 -con la variable CustomLog/ErrorLog-
o de eso se encarga "logrotate"?
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? :-)
Saludos,
--
Camaleón
Reply to: