Sí, es cierto, hacía tiempo que no escribía nada en el blog y eso no puede ser. Después de un tiempo de parón, espero volver a ser más constante en las entradas.
En este caso, vamos a ver un método de hacer un backup incremental, pero sin ningún software adicional, sino empleando el comando tar.
La importancia de realizar backups no hace falta que la comente, pues es un tema muy sabido por todos.
El método típico de hacer backup con tar, es comprimir todos los ficheros que así desees en un contenedor y darle un nombre, por ejemplo, una fecha. Si todos los finales de día lo hacemos, tenemos un backup bastante consistente y ante posibles fallos. El único problema, que ocupará mucho espacio! Para resolver este problema está el backup incremental y tar, como no podía ser de otra manera, también lo soporta.
A continuación, dejo un ejemplo de cómo se debería de emplear tar para la realización de un backup incremental.
- Crear el entorno de pruebas
shell> mkdir -p test/aa test/bb test/cc shell> touch test/aa/a test/bb/b test/cc/c
- Realizar el primer backup
Importante aquí, la opción que le pasamos --listed-incremental file.
shell> tar --listed-incremental test.metadata \ -czf test.tar.gz test
- Borrar y cambiar ficheros
shell> rm test/aa/a shell> touch test/aa/aa shell> echo "hola" > test/bb/b
- Volver a lanzar el backup incremental
Cada incremental lo vamos añadiendo a un nuevo contenedor.
shell> tar --listed-incremental test.metadata \ -czf test.inc1.tar.gz test
- Restaurar ficheros
Para ello, necesitamos el fichero de backup completo y también los incrementales
shell> mkdir restore shell> tar xzf test.tar.gz -C restore shell> tar --incremental \ -xzf test.inc1.tar.gz -C restore
Como podemos apreciar que ha añadido el fichero creado pero también borrado el fichero eliminado en el momento de hacer el incremental.
Espero que os haya resultado útil.
Como ya sabréis, realizar backups al mismo disco no es una buena idea, por lo que si no lo conoces, te recomiendo la lectura del tag bacula, que quizás te ayude a tener un backup más seguro.