El día 15 de enero de 2011 20:31, Camaleón <noela...@gmail.com> escribió: > 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 > >
A ver si esto te da una idea... en man logrotate: prerotate/endscript The lines between prerotate and endscript (both of which must appear on lines by themselves) are executed before the log file is rotated and only if the log will actually be rotated. These directives may only appear inside a log file definition. See also postrotate. Vale pues metemos ahí un script que copie el fichero a otro directorio, que cuente cuantos hay en ese directorio de destino, y cuando sean 12 los comprima y mueva el fichero a otro lado. Saludos. -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/aanlktimshwgblmi9qfnws4y5gk+swhngbowyfan3o...@mail.gmail.com