Respaldos en Linux, los programas que he utilizado

Llevo mucho tiempo usando Linux y hago frecuentemente respaldos de mis archivos. Siempre es una mejor política hacer respaldos que intentar recuperarlos. Para hacer respaldos en Linux he utilizado varios programas. En este artículo voy a comentar algunos de sus pros y sus contras.

Deja Dup.

Durante mucho tiempo utilicé Deja dup, venía incluido en Cinnamon y me pareció la opción natural. Es muy fácil de configurar, solo hay que responder algunas preguntas, decirle cuáles carpetas respaldar y eso es todo.

Diariamente ejecuta un respaldo de los archivos de una forma prácticamente imperceptible. Ocasionalmente me aparecía una notificación para informarme que había terminado el respaldo o me pedía que pusiera una contraseña para verificar que todo estaba bien.

Un buen día se me ofreció recuperar un archivo y ese fue el final de deja dup en mi escritorio. No pude lograr que me apareciera un archivo para restaurar. Lo intenté de varias formas pero el tiempo que invertía en la tarea no era aceptable. Y al parecer no era el único con el mismo problema: How can i fix Deja Dup hanging on restore? o Recovery search for files is very slow.

Afortunadamente no era un archivo de vida o muerte, pero no iba a esperar a caer en una situación crítica. Era tiempo de buscar otras opciones.

Duplicati.

Duplicati es similar en varios aspectos a deja-dup, solo que tiene muchas más opciones y eso no es necesariamente malo.

En Windows tiene el problema de alentar los equipos durante el respaldo. Pero eso no quiere decir que lo haga en Linux. Ya sabes lo que dicen, más vale malo por conocido que bueno por conocer. Sin embargo en Linux tuve problemas para instalarlo.

Además, estaba habituado a la configuración de la versión 1 de duplicati y los cambios que hicieron en la versión 2 fueron demasiados para mi gusto. Algunos ajustes que funcionaban para mi los ocultaron, en fin, que nadie me obliga a usarlo.

Como en gustos no hay nada escrito se los dejo tal cual. A lo mejor a alguien le gusta y lo hace su programa de respaldos.

Rsync

Un clásico que no falla. Rsync es la herramienta para copiar archivos por excelencia.

Tiene la ventaja de que es muy fácil de integrar a un script en bash y para hacer un respaldo solo se tiene que ejecutar el archivo. Opcionalmente se puede programar una tarea regularmente y ¡Voalá!, respaldos automáticos simples y confiables.

Cuando se requiere hacer copias de archivos de manera masiva rsync es la herramienta de la terminal que tienes que elegir pero, bueno siempre hay un pero.

El único problema que tiene es en el manejo de versiones. Supongamos por ejemplo que necesitas una versión de un archivo de la semana pasada. No la de ayer, no la antier, la de la semana pasada exactamente. Ahí es donde entra nuestro siguiente programa participante.

Back in Time.

Back in Time es uno de esos programas que tiene justo lo que estaba buscando. No es tan minimalista como Deja-dup ni tampoco es tan complicado como manejar las opciones de un comando en la terminal.

Back in time utiliza dos de mis herramientas favoritas en software libre, python 3 y rsync para crear lo que se llaman Instantáneas (o snapshots).

Las instantáneas tienen una fecha, de esa forma es posible regresar a versiones anteriores del mismo archivo.

El impacto en la computadora, al menos con Linux es mínimo. No me notifica nada, solo aparece un discreto icono azul en la barra de tareas. Hace lo que tiene que hacer y eso es todo, al terminar el ícono desaparece como un fantasma.

back in time trabajando
Respaldando ando…

Aprendiendo de mi experiencia con Deja-dup he recuperado algunos archivos para comprobar que funciona y así ha sido.

Configurar un respaldo requiere un poco de esfuerzo pero no es nada complicado. Afortunadamente cuenta con una buena documentación . Me recuerda un poco a duplicati, me permite establecer opciones como el encriptado, las carpetas a respaldar, cuales hay que excluir y la frecuencia de las instantáneas.

Configuración de un respaldo con Back in Time.
Configuración de un respaldo con Back in Time.

El único problema con Back in Time es que al guardar varias versiones de los mismos archivos el espacio ocupado por el respaldo tiende a crecer un poco más que al hacer una copia simple.

¿Cuál programa de respaldos utilizan? ¿Les gusta el peligro y practican la computación extrema?. Por favor comenten 🙂

Imagen de portada cortesía de Markus Spiske

Regresar paquetes a su versión anterior en Manjaro (downgrade).

Telégrafo y teléfono antiguos

Es raro, pero a veces una actualización puede traer problemas. Tengo configurado un respaldo automático con deja-dup y hoy en la mañana al hacer el respaldo incremental de cada día me apareció este mensaje de error:

Traceback (most recent call last):
File "/usr/bin/duplicity", line 1493, in
with_tempdir(main)
File "/usr/bin/duplicity", line 1487, in with_tempdir
fn()
File "/usr/bin/duplicity", line 1336, in main
do_backup(action)
File "/usr/bin/duplicity", line 1457, in do_backup
full_backup(col_stats)
File "/usr/bin/duplicity", line 564, in full_backup
print_statistics(diffdir.stats, bytes_written)
File "/usr/bin/duplicity", line 594, in print_statistics
print diffdir.stats.get_stats_logstring(_("Backup Statistics"))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in position 21: ordinal not in range(128)

Error con deja-dup

Va pa’tras

Pude rastrear el error hasta el paquete duplicity. Todo parece indicar que el paquete que se instaló ayer durante la actualización de Manjaro tiene este molesto bug según pude leer en [Desktop-packages] [Bug 1276327] [NEW] deja-dup/duplicity fails gpg encrypted backup in trusty.

Si estaba trabajando bien, entonces la solución es regresar el paquete a una versión anterior (downgrade) y listo.

Leyendo un poco me enteré del programa downgrade disponible en AUR que simplifica mucho la tarea de desactualizar un paquete.

Para instalarlo:

yaourt -S downgrade

La forma de uso es muy sencilla:

sudo downgrade [nombre del paquete]

En mi caso, queria regresar el paquete duplicity y así lo hice.

sudo downgrade duplicity

Entonces me aparece un listado de las versiones disponible, la que dice local es porque la tengo en el caché de paquetes (carpeta /var/cache/pacman/pkg/ ) y las que dicen remote están disponibles para su descarga.

Available packages:
1) duplicity-0.6.23-3-x86_64.pkg.tar.xz (local)
2) duplicity-0.6.23-3-x86_64.pkg.tar.xz (remote)
3) duplicity-0.6.23-2-x86_64.pkg.tar.xz (remote)
4) duplicity-0.6.23-1-x86_64.pkg.tar.xz (remote)
5) duplicity-0.6.22-1-x86_64.pkg.tar.xz (remote)
6) duplicity-0.6.21-3-x86_64.pkg.tar.xz (remote)
select a package by number: 3

Decidí utilizar la versión inmediata anterior, o sea la versión 0.6.22-1 y esta funcionando perfectamente.

En la próxima actualización del sistema estaré al pendiente, si el bug todavía persiste o si nuevamente tengo que regresarlo a una versión anterior.