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

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: