
Tengo copias de seguridad diarias de bases de datos en un directorio en una máquina Linux local para múltiples bases de datos. El formato de denominación es [dbname].backup; no hay marca de tiempo y actualmente la última copia de seguridad sobrescribe la anterior.
La administración desea conservar las versiones antiguas de los archivos con una marca de fecha adjunta al final y aplicar la siguiente política de retención:
- Todos los archivos se conservarán durante 7 días.
- la primera copia de seguridad del mes para cada base de datos se conservará durante 12 meses
- la primera copia de seguridad de cada año se conservará indefinidamente
Me estoy rascando la cabeza sobre cómo escribir este script, así que esperaba que alguien más hubiera escrito algo como esto antes, o tal vez haya una herramienta que desconozco que pueda manejar este tipo de cosas.
¿Alguien conoce tal script o herramienta?
Respuesta1
Hacemos esto mucho en mi empresa.
Lo principal que probablemente usarás es "buscar" (hombre encontrar). Por ejemplo:
buscar /home -type f -ctime +14 -exec rm -f {} \;
eliminará todos los archivos desde /home en adelante que se hayan creado hace más de 14 días. Puede especificar más opciones para que la búsqueda se centre en los archivos a los que se dirige.
Déjame saber si necesitas más información o ayuda para usar buscar, pero hará todo lo que necesites.