GNU/Linux >> Tutoriales Linux >  >> Linux

Logrotate:¿Rotación de archivos que no son de registro?

Solución 1:

Sin un cambio en su proceso, logrotate por sí solo no hará lo que está buscando aquí. El problema clave aquí es que, si bien logrotate puede tomar comodines, no tratará los archivos como uno si lo hace y, en su lugar, intentará rotarlos todos individualmente, lo que definitivamente NO es lo que desea.

Sin embargo, puede hacer que funcione de la manera que describe, siempre que la copia de seguridad más reciente se cree sin un sello de fecha. Si su proceso de copia de seguridad crea /root/backup.tar.gz por ejemplo, podría usar la siguiente configuración logrotate:

/root/backup.tar.gz {
    rotate 5
    nocompress
    dateext
    dateformat _%Y-%m-%d
    extension .tar.gz
    missingok
}

El resumen rápido de las opciones aquí:

  • rotate 5 -- mantener 5 rotaciones antes de eliminar
  • nocompress -- no comprima los archivos después de rotarlos
  • dateext -- use la fecha como la extensión de rotación en lugar de incrementar los números
  • dateformat _%Y-%m-%d -- establecer el formato de extensión de fecha que desea utilizar
  • extension .tar.gz -- hacer el .tar.gz vienen después de la extensión de rotación
  • missingok -- si el archivo que queremos rotar no está allí, no se preocupe y siga adelante (el valor predeterminado es arrojar un error)

¡Espero que esto ayude!

Solución 2:

No tienes que usar logrotate para hacerlo. Solo usa un comando como este:

ls -1 /root/backup_* | sort -r | tail -n +6 | xargs rm > /dev/null 2>&1

Este comando dejará los 5 archivos más recientes y eliminará los restantes (si los hay). Puede usarlo en un trabajo cron.

Solución 3:

Logrotate gira los archivos, por lo que la respuesta es sí, probablemente, y si no hay permisos suficientes, colóquelos en /backup o algo así. Compruebe qué grupo y usuario tienen los registros rotados :-).

Hay opciones para la compresión en logrotate, så si "comprimir" NO está configurado, bueno, entonces no lo intentará. También en tu caso, opción "girar 5".

Eche un vistazo en /etc/logrotate.d (o donde sea que esté almacenado en su sistema)


Linux
  1. ¿Pegar archivos sin delimitador?

  2. ¿Cambiar el nombre de los archivos en el directorio?

  3. ¿Encontrar los archivos más grandes recursivamente?

  4. Manera de decirle a Logrotate que ignore los archivos abiertos?

  5. Archivos .o frente a archivos .a

Cómo encontrar archivos en Linux

Cómo rotar y comprimir archivos de registro en Linux con Logrotate

Encuentra archivos grandes en Linux

Comando Rm en Linux

Cómo administrar archivos de registro usando Logrotate en Linux

Cómo instalar Logrotate en Ubuntu 16.04 LTS