Hay una manera de hacer esto?
Hay una manera de hacer esto?
Respuestas:
En su logrotate.conf (o el archivo logrotate.d equitativo), cambie la línea que dice "
rotate 10
(su número puede ser diferente) a un número mayor. Eso le dirá que mantenga tantos días de registros. Puedes hacerlo 36500, que te duraría 100 años.
He estado buscando esto para hacer la rotación de las copias de seguridad de mi base de datos diariamente, semanalmente y mensualmente; así que giro el archivo diariamente pero mantengo el archivo para hacer la rotación semanal, y lo mismo para la rotación anual.
Utiliza la opción de copiar. Del manual:
copy
copiar Haga una copia del archivo de registro, pero no cambie el original en absoluto. Esta opción se puede usar, por ejemplo, para hacer una instantánea del archivo de registro actual, o cuando alguna otra utilidad necesita truncar o analizar el archivo. Cuando se utiliza esta opción, la opción de creación no tendrá ningún efecto, ya que el archivo de registro anterior permanece en su lugar.
Dejando a un lado el punto de que la rotación implica la eliminación ... ;-)
Parece que simplemente puede agregar la palabra 'copiar' al archivo apropiado (probablemente en /etc/logrotate.d). Por ejemplo, un script de apache2 logrotate se vería así:
/var/log/apache2/*.log { semanal missingok rotar 52 comprimir delaycompress notifempty dupdo guiones compartidos postrotar if [-f "`. / etc / apache2 / envvars; echo $ {APACHE_PID_FILE: - / var / run / apache2.pid} `"]; luego /etc/init.d/apache2 reload> / dev / null fi escritura final }
Pruebe eso y vea si hace lo que quiere.