Tengo un directorio con muchos archivos de registro, todos los cuales me gustaría rotar a diario. Para fines organizativos, me gustaría poder mover los registros rotados a un directorio diferente (o subdirectorio) nombrado por fecha, manteniendo la última semana de registros.
Puedo usar logrotate para lograr la mayor parte de esto mediante la rotación de los archivos en el lugar o incluso moverlos a un único directorio diferente usando la olddir
directiva, pero tengo problemas para encontrar una solución para crear subdirectorios individuales por rotación. ¿Cómo puedo conseguir esto?:
Logs to rotate: /var/log/example/*
Desired target directories (keeping a week):
/var/log/example/20121006/*
[ ... ]
/var/log/example/20121012/*
postrotate
hará el truco. Lo único que necesito agregar es purgar los directorios antiguos que tienen un cierto recuento o más que una fecha determinada.find | xargs
comando debe eliminar todos los subdirectorios inmediatos de/var/log/example
si se modificaron por última vez hace más de 7 días.Tiene una
olddir
directiva que puede usar en el archivo de configuración.De la documentación:
Referencia : https://manpages.debian.org/jessie/logrotate/logrotate.8.en.html
fuente