Borrar backups después de X días

Luego de asegurarnos de que nuestra información se esté respaldando correctamente, es importante que borremos las copias de respaldo luego de un cierto número de días. De esa manera, evitamos ocupar espacio innecesariamente. Si bien hay distintos tipos, en este post asumiremos el caso más sencillo: borrar backups completos después de X días. Por simplicidad, consideraremos que el script que genera las copias de respaldo se ejecuta de lunes a viernes. ¡Comencemos!

El procedimiento que describimos a continuación es útil independientemente del recurso utilizado para almacenar los backups. También aplica sin importar la herramienta utilizada para realizar la copia de respaldo.

Borrar backups viejos

Para empezar, recordemos que el comando find nos permite realizar búsquedas de archivos a partir de una amplia gama de criterios. Uno de los filtros disponibles es la fecha de modificación de los archivos. Supongamos que estamos almacenando nuestras copias de respaldo en /srv/backups. En ese contexto, agregando las líneas que indicamos en rojo debajo podremos borrar los archivos generados hace más de X días. Por una cuestión de orden, el número X lo manejaremos a través de la variable DIAS:

#!/bin/bash

DIAS=7

# LOGICA DEL BACKUP
# ...
# FIN LOGICA DEL BACKUP

find /srv/backups -mtime +$DIAS -delete

# MAS CODIGO AQUI

Por supuesto, esto asume que lo único que estamos almacenando en /srv/backups son los archivos resultantes del script. Si esto no fuera así, tendríamos que utilizar algún filtro adicional (-name, por ejemplo). Otra alternativa viable es especificar la extensión de los archivos a borrar. Para ilustrar, supongamos que el script de backup empaqueta y comprime los archivos en un tarball con extensión .tar.gz. Si es así, podemos modificar el comando find de la siguiente manera:

find /srv/backups/*.tar.gz -mtime +$DIAS -delete

Espero que este post les haya resultado de utilidad. ¡Nos leemos en breve!

¡Aprovechá la oportunidad de suscribirte al blog para recibir en tu correo el post nuestro de cada día, novedades, y promociones exclusivas!