jueves, 3 de mayo de 2012

Respaldar tus archivos personales

O sea, hacer una copia de seguridad, o backup... 'por si acaso'. Ya dije que yo uso el Clonezilla como 'salvavidas' para respaldar mi partición root (/) y poderla restaurar en caso de meter la pata en algo (cosa típica entre los newbies... y entre los no-newbies). Aquí voy a hablar de hacer una copia de seguridad de mis propios archivos personales, o sea de mi /home, por lo menos para tener un respaldo por si, en alguna maniobra 'descontrolada', me los cargo.
Y debe haber muchas aplicaciones para esto. Yo aquí voy a hablar de dos: del Deja Dup y de Rsync.
Ambos pueden crear backups en un almacenamiento local (otra partición, otro disco duro...), o en otro PC, por red local, o de forma remota, o 'en la nube'... A lo mejor eso de 'la nube' es lo bueno, pero como a mi no me acaba de convencer eso de mandar tus archivos personales 'al hiperespacio', prefiero hacer mis copias en mi propio disco duro (en otra partición, claro).
Por supuesto, ambas se encuentran en los repositorios, así que a estas alturas ya sabes cómo se instalan. Y ambas hacen, más o menos, lo mismo mismo... pero lo hacen de forma diferente.
Así que vamos a echarles un vistazo:

DEJA DUP
Es sencillísimo de usar, solo tiene dos opciones: Backup y Restore. Antes, por supuesto, tienes que configurarlo, definiendo qué carpetas quieres salvaguardar, y donde (por defecto te pone todo el Home, y, 'a ignorar', la Papelera y la carpeta Descargas, pero puedes añadir o quitar lo que quieras). Sospecho que los de Ubuntu implementan un 'visor' (un GUI, vamos) más aparente, pero el Debian lo que ves es esto

que es muy fácil de entender.
Así que no tienes más que crear la carpeta donde quieres que se guarde tu copia de seguridad (yo, por ejemplo, tengo creada, en mi disco duro, una partición que llamo Respaldo (y que se me monta, por haberla incluido en mi /etc/fstab, en el arranque) y ahí he creado la carpeta 'CopiSeg_Home', y es donde he indicado (en Almacenamiento) que tiene que alojarse el backup.
Y si das a 'Realizar una copia de seguridad ahora', se pone a hacerlo.
Puede tardar bastante, el caso es que va creando archivadores Gz, por tanto comprimidos, de tamaño 50 Mb, marcados vol.1, vol.2.... Y te añade un 'manifiesto' (editable con doble clic de ratón) donde te indica el contenido de cada 'Volumen'.
Hombre, la ventaja de comprimir el backup es que te ocupa menos. A mi, por ejemplo, de un Home de 75 Gigas me sacó una copia de 58 Gb (supongo que es mejorable, la verdad es que tenía alguna peli en AVI, y una carpeta de VirtualBox de 38 Gb, que no las podría comprimir)
Y ya está: lo ha copiado todo (hasta las carpetas ocultas) por si algún día quiero restaurarlo.
Y tiene también la opción de poder programar, muy fácilmente, Copias de Seguridad automáticas (diarias, semanales...), pero me temo que las va acumulando 'hasta que el disco diga basta', y luego irá eliminando las más antiguas. Lo cual es, en principio, poco apetecible.

RSYNC
De entrada debo decir que este lo he descubierto gracias al buen amigo, de los foros de Espacio Linux, tonydiaz, que incluso tiene un bonito blog. Como él sabe mucho, y yo me limito a 'digerir' la sabiduría de otros y ponerlo aquí 'en plan práctico', para los novatos, cito y linkeo la fuente, por si alguien quiere ampliar conocimientos: http://www.debianisfreedom.com/
Bien, pues Rsync no es más que una utilidad que se ejecuta desde consola que 'permite sincronizar dos fuentes de datos minimizando la cantidad de datos transferidos'. Y muchas más cosas, en una utilidad potentísima.
Supongo que, para los estudiosos, Google estará lleno de Tutos de RSync, pero aquí, como dije, vamos a lo práctico.
Y lo práctico es que puedes utilizarlo para hacer copias de seguridad... con la ventaja de que también conseguiríamos que, ejecutándolo repetidas veces, por aquello de la sincronización, solo afectaría a los archivos que se hubieren modificado o se hubieren generado desde la última copia de seguridad, minimizando enormemente la cantidad de archivos a transferir. O sea: es muy rápido
La orden a dar, en consola, es sencillísima: como un 'cp' (copiar)
rsync [opciones] [origen] [destino]
Y para no liarnos con la cantidad de opciones que acepta rsync, vamos a ir al grano: Para hacer una copia exacta de nuestra carpeta personal, tengo que crear la carpeta correspondiente en el 'destino' (por ejemplo, en mi caso, creo /media/Respaldo/Backup_Home) 
Y el comando sería (en mi caso) este:
rsync -av --delete /home/doc/* /media/Respaldo/Backup_home
Por explicarlo: con el parámetro -a le digo que cree una copia exacta y con el parámetro -v que nos vaya diciendo (en pantalla) lo que está haciendo. Y el parámetro --delete nos genera una copia espejo de nuestro home. 
Y el asterisco (*) le indica que solo copie los archivos y carpetas cuyo nombre comience por un número o letra (es decir, NO los ocultos, que empiezan por un punto: '.carpeta'). Si lo quitamos, nos copia todos.
¿Y qué significa esto? Pues que así conseguimos una sincronización perfecta y si borro algún archivo del origen, en la próxima copia el programa 've' que ese archivo, que estaba en el backup, ya no está en el origen, y por tanto lo borra en la copia de seguridad, y las carpetas tienen siempre los mismos datos
(Hombre, esto del --delete tiene en contra a veces borras un archivo y si un día lo echas en falta, lo podrías tener en la copia de seguridad).
Bueno, el caso es que con la ejecución de esa orden conseguiríamos una copia exacta de nuestra carpeta personal
Y no sólo eso, si no que también conseguiríamos que, en las sucesivas veces que se ejecute la orden, se sincronicen ambas carpetas y solo se actuaría sobre lo que se hubiese modificado desde la última copia de seguridad, minimizando enormemente la cantidad de archivos a transferir.
Para ejecutar manualmente una copia de seguridad bastaría ejecutar la orden anterior. Es muy fácil crear un pequeño script como este...
#!/bin/sh
rsync -av --delete /home/doc/* /media/Respaldo/Backup_home >> /home/doc/Registro_Backup
gedit /home/doc/Registro_Backup +4000:1
... y, porque así es muy cómodo, crear un lanzador, en el escritorio, para ejecutar este script. Que se hace como explicaba aquí.

Pero también se puede automatizar la copia de seguridad. Para ello hay que utilizar otro potente comando: el cron.
No me voy a extender en explicarlo, hay mucho manual de cron por ahí. Así que, sin entrar en mucho lío, editamos la lista de cron, escribiendo, en consola
crontab -e
Y se añade al final una línea que incluya la frecuencia de ejecución y la propia orden de rsync.
Por ejemplo, si quiero que me haga una copia de seguridad los jueves de cualquier mes, a las 21:01 horas, como en el mandato de cron hay que poner:
Minuto    Hora    DiaDelMes    Mes    DiaDeLaSemana    Usuario    Comando
(y 0=domingo, 1=lunes...) la línea sería esta:
01 21 * * 4 doc rsync -av --delete /home/doc/* /media/Respaldo/Backup_home >> /home/doc/Registro_Backup
(si fuese 'a las 20:30 del día 15 de cada mes' sería 30  20  15  *  *  etc
Y ya está: en todo caso, Rsync te crea una copia de tus archivos (en el ejemplo que he puesto, para el usuario 'doc', solo los NO ocultos) y cada vez que se ejecute sincroniza tu /home con la carpeta donde se respaldan. 
Y ahí los tienes, en un respaldo carpeta a carpeta y archivo a archivo. 
Para restaurar a un nuevo /home, basta copiarlos.

En resumen: ambos sistemas, Deja Dup y Rsync, cumplen su misión. A mi me gusta más Rsync, es más flexible, te 'espeja' tu /home en otra partición, y tienes 'a la vista' todos los archivos de esa copia, por si quieres restaurar alguno que hayas borrado sin querer (¡Pero OJO, si tienes puesto lo de '--delete', tiene que ser antes de que te genere otra copia/sincronización). Y tiene un enorme potencial,  y se puede usar para sincronizar, por ejemplo, las /home de dos ordenadores conectados en red. A lo mejor algún día me meto con esto, que nunca lo he hecho.
Pero Deja Dup es más 'clásico', es una 'copia-copia', y además ocupa menos espacio, al estar comprimidos.
Así que cada uno elija. (y seguro que habrá algún 'conspiranoico' que, por si acaso, usará los dos métodos...)

POSTDATA: descubro que en Gnome existe un GUI de Rsync, el  GRsync, que te permite manejarte con rsync en entorno gráfico lo cual, para los NO-Pro, es una forma muy cómoda de crear la copia de seguridad... aunque los puristas digan que donde esté la consola, nada.
Bueno, yo no lo discuto, pero cada uno se puede buscar la vida como quiera... si consigue lo que persigue.
El caso es que este GRsync (que, por supuesto, está en los repositorios) tiene esta pinta (es la sesión que me he creado, todo lo demás, opciones avanzadas, y tal,  lo dejo 'por defecto')... y en una media hora me ha hecho un perfecto backup (incluyendo las carpetas ocultas de /home) de cerca de 72 gigas.


No hay comentarios:

Publicar un comentario