Este artículo es una actualización del que se publicó en abril de 2013 ¡Cómo pasa el tiempo! ¡Qué barbaridad!. Algunas cosas han cambiado y algunas otras se han añadido. Además, se han incluido aportaciones y aclaraciones que se han ido haciendo en los comentarios de aquel artículo. Por otro lado, creo que se ha mejorado en cuanto a claridad de la exposición. Espero que este artículo siga siendo tan útil como hasta ahora lo ha sido para aquellos que por Diversidad y un Poco de Todo pasaron.
Contenidos
1. Introduciendo y concretando el tema
Grsync es una aplicación que permite copiar/sincronizar archivos y directorios entre máquinas de una red o entre ubicaciones distintas de una misma máquina. Por tanto, puede tener una doble finalidad: tener una copia de seguridad; o, también, compartir directorios. En realidad Grsync es una interfaz gráfica para Rsync que funciona por línea de comandos. Rsync es una potente herramienta que utilizan usuarios avanzados, administradores de sistemas y profesionales en general.
Grsync no desarrolla toda la potencia de Rsync, pero es más que suficiente para realizar copias de seguridad y sincronización de datos mediante una interfaz de usuario sencilla. Tanto Rsync como Grsync, por lo general, está en los repositorios oficiales de las distribuciones GNU/Linux, tales como Debian, Ubuntu u openSUSE.
Grsync lo utilizo para hacer una copia de seguridad incremental de archivos, de esos denominados datos (archivos de texto, hojas de cálculo y presentaciones, PDFs; imágenes, fotografías y videos; música, etc), contenidos en discos locales de ordenadores de escritorio y portátiles (ORIGEN). Las copias de seguridad las almaceno en unidades externas USB (DESTINO). Esto significa que los cambios en el directorio ORIGEN (se añaden o se eliminan archivos, o estos son modificados), serán igualmente contemplados en la copia de seguridad cuando ejecute Grsync. En definitiva con la ayuda de Grsync tengo una copia exacta de respaldo de mis archivos en una unidad externa, por lo que pueda pasar. Y esta utilidad es el objeto concreto del presente artículo que espero sea útil a todo aquél que pase por aquí.
2. Establecer ORIGEN y DESTINO
2.1. Situaciones usuales de partida
La primera vez que utilicemos Grsync podemos tener dos situaciones:
a) Aun no tenemos una copia de seguridad de los datos del disco local de la computadora (ORIGEN) en la unidad externa USB (DESTINO). En ese caso Grsync hará una copia completa de los archivos que hayamos seleccionado en el directorio DESTINO que hayamos establecido. Posteriormente, Grsync sincronizará ORIGEN y DESTINO teniendo en cuenta una serie de opciones que seleccionaremos en función de cual sea el objetivo concreto.
b) Tenemos ya una copia de seguridad. En ese caso Grsync directamente realizará sus funciones de sincronización entre ORIGEN y DESTINO.
Si el tamaño de ORIGEN es grande le puede llevar su tiempo, incluso requiere de un tiempo antes de que observemos que está copiando/sincronizando.
Los errores que se puedan producir tanto por el funcionamiento de Grsync (poco probable), como por las opciones que seleccionemos (más probable), o cualquier otra causa, no afectan a ORIGEN, sólo a DESTINO. Así que, en cualquier caso, podemos estar tranquilos en cuanto a nuestros datos originales.
2.2. Distintas sesiones de copia de seguridad incremental
En la ventana de la aplicación, y justo debajo del menú, podemos definir distintas sesiones de copia de seguridad/sincronización; distintas en cuanto a la ruta del directorio ORIGEN y DESTINO, y/o las opciones de la sesión. Posteriormente podremos seleccionar cada una de ellas mediante el desplegable. La sesión por defecto con unas opciones predeterminadas en Grsync es “default”; hay no obstante que indicar las rutas de ORIGEN y DESTINO, como veremos seguidamente.
A la hora de definir una nueva sesión picamos en “+” se abre una ventana donde pondremos un nombre concreto que identifique cada una de las copias de seguridad que queremos establecer. En “Origen y destino” establecemos las respectivas rutas de los directorios ORIGEN y DESTINO, ayudándonos con el navegador: “Open”.
Si presionamos en el icono de «papelera» eliminamos la sesión que en ese momento está seleccionada. El icono siguiente “i” simulará la ejecución de la sesión, pero no la realiza; es útil para comprobar si habrá algún problema. El último icono es el que ejecutara la acción de la sesión en cuestión.
Un ejemplo de distinta sesiones pueden ser las siguientes. La primera entre dos discos locales
Sesión: mi_usuario
ORIGEN: /home/mi_usuario (está en el disco local sda, por ejemplo)
DESTINO: /media/Datos/Seguridad_home (está en un segundo disco local sdb)
Y otra sesión entre un directorio en un disco local (sdb, por ejemplo) y en una unidad externa USB:
ORIGEN: /media /Datos /Fotografía
DESTINO: /media/mi_usuario /Unidad_USB /Seguridad_Fotos
Las distintas sesiones pueden tener configuraciones diferentes si hemos seleccionado diferentes opciones. En este sentido, Grsync nos permite guardar y recuperar distintas configuraciones de sesión (Menú: Sesiones > Importar/Exportar).
Se recomienda que, en general, ORIGEN siempre comprenda a una sola partición; bien sea completa o a unos directorios concretos de la misma. No es recomendable, por tanto, que una misma sesión abarque un disco local con distintas particiones. Lo suyo es establecer, al menos, una sesión por cada una de las particiones; es más seguro.
2.3. Dos opciones para la sintaxis de ORIGEN y DESTINO (“/”)
Como se indica en la ayuda (“?”) hay dos opciones a la hora de definir la ruta de ORIGEN según pongamos, o no pongamos, al final de la misma “/”. Veamos un ejemplo.
A) No ponemos una barra “/” al final de la ruta ORIGEN, que es la opción por defecto. Crea la carpeta en DESTINO y copia su contenido. Por tanto, en la ruta de DESTINO no tenemos que poner la carpeta de ORIGEN. Por ejemplo,
ORIGEN: /media/Datos/Fotografía
DESTINO: /media/mi_usuario /Unidad_USB/Seguridad_Fotos
En “/Seguridad_Fotos” se encontrará la carpeta “Fotografía” y todo su contenido.
B) Ponemos la barra “/” al final de la ruta de origen. No crea la carpeta ORIGEN en el destino, pero copia todo el contenido. Por tanto, en la ruta de DESTINO tiene que estar la carpeta ORIGEN. Por ejemplo:
ORIGEN: /media/Datos/Fotografía/
DESTINO: /media /my_usuario /Unidad_USB/Seguridad Fotos /Fotografía
En realidad el resultado es el mismo, es cuestión de preferencia personales. Si has utilizado FreeFileSync posiblemente, y por costumbre, prefieras la opción B).
2.4. Intercambiar origen por destino
Esta orden la encontramos en el desplegable del menú “Archivo” (Swith source with destination). Puede ser útil, por ejemplo, cuando trabajamos, por las razones que sean, indistintamente en ORIGEN y DESTINO, de tal manera que la dirección de la sincronización puede ser en un sentido u en otro. Evidentemente, este podría ser el procedimiento también para restaurar una copia de seguridad. No obstante, a los que somos un tanto despistados este intercambio nos puede jugar una mala pasada. Así, que si es el caso, mucha precaución.
3. Opciones de la copia de seguridad incremental de archivos
Las distintas opciones que nos permite Grsync para cada una de las sesiones que establezcamos se encuentran distribuidas en tres pestañas. Sin embargo, para el objetivo del presente artículo son prácticamente suficientes aquellas que se muestran en “Opciones básicas”. No obstante, daremos algunas pinceladas a “Opciones avanzadas” y “Opciones adicionales”.
3.1. Opciones básicas
Mantener fecha. Habilitada esta opción los archivos en DESTINO mantendrán la fecha en que se crearon o modificaron en ORIGEN. Si no la marcamos, todos los archivos en DESTINO tendrán la fecha y hora en la que Grsync trabajo por última vez.
Mantener propietario, Mantener permisos y Mantener grupo. No es necesario marcarlos si nuestra copia de seguridad es de datos. Otra casa es que se trate de una copia del sistema operativo, entonces pude ser recomendable. Ahora bien, personalmente las copias de respaldo del sistema operativo las hago con Clonezilla.
Eliminar en destino. Habilitada esta opción, los archivos que se eliminan en ORIGEN también se eliminarán en DESTINO cuando ejecutemos Grsync. En definitiva ORIGEN y DESTINO se mantienen idénticos. Ahora bien, si por descuido eliminamos un archivo o carpeta en ORIGEN tenemos que recuperarlo rápidamente desde DESTINO, ya que en la siguiente sincronización también serán eliminado de aquí.
No dejar el sistema de archivos. Sinceramente, no he llegado nunca a comprender claramente esta opción por más que he indagado. En la ayuda indica “No cruzar los limites del sistema de archivos”, y un límite entre los sistemas de archivos es un punto de montaje. Esto parece indicar que actuará sólo en la partición especificada. En cualquier caso y como indicábamos antes, las copias de seguridad se recomienda hacerlas de todas las particiones por separado. Si cada sesión sólo implica a una partición no parece necesario habilitarla.
Detallado. Cuando se esté ejecutado Grsync guarda temporalmente información detallada que podremos consultar. Si se produce un error podremos localizar de que se trata. Puede que simplemente sea debido a un archivo “raro” en ORIGEN; lo eliminamos o lo copiamos manualmente y solucionado.
Mostrar el progreso de la transferencia. Muestra una barra de progreso del proceso, y es aquí, además, donde podemos consulta la información del proceso (“Detallado”).
Ignorar los existentes. Si está habilitada esta opción, sólo copiará en DESTINO los archivos y carpetas nuevas en ORIGEN que se hayan generado después de la ultima sincronización; sin embargo, no copiara aquellos que se haya modificado. Si queremos que DESTINO = ORIGEN, obviamente no hay que habilitarlo
Solo tamaño. Sólo reemplazará los archivos en DESTINO que en ORIGEN hayan modificado su tamaño. Sin embargo, puede suceder que un archivo modificado no cambie su tamaño. Igualmente, si queremos que DESTINO = ORIGEN, obviamente no hay que habilitarlo.
Omitir los más nuevos. También para que DESTINO = ORIGEN, no debe habilitarse. Ahora bien, puede ser útil si se modifican archivos en DESTINO y se quieren conservar tal y como están, y que no sea remplazado por la versión que se encuentra en ORIGEN.
Compatibilidad con Windows. Es conveniente activarlo si DESTINO esta en el formato de archivos FAT; aún así evitaría este formato de archivos para este asunto. Sin embargo, si está en formato NTFS no hay problema alguno. En cualquier caso no cuesta trabajo tenerlo activado para asegurar la compatibilidad con Windows; si es el caso, claro está.
3.2. Opciones avanzadas.
En principio con tener en cuenta las opciones básicas es suficiente para el objetivo que aquí perseguimos. Indicar sólo que por defecto viene marcado “Proteger los argumentos remotos” y así lo podemos dejar. Asimismo, “Suma de comprobación siempre”, que garantiza que siempre se comparará el contenido de los archivos, no está demás que esté habilitado; el proceso tendrá una mayor duración pero también nos podemos quedar más tranquilos.
Excluir carpetas y archivos
En está segunda pestaña también tenemos una terminal para introducir mediante línea de comandos órdenes de Rsync que Grsync no implementa mediante la interfaz. Uno que nos puede ser útil es “exclude” que suprime de la copia/sincronización alguna carpeta o archivo. En DESTINO no se modificaran y, en su caso, no se copiaran. Un ejemplo de como se utiliza este comando en relación a “/home/mi_usuario/” que puede ser práctico es:
--exclude=.cache/ --exclude=Trash/
En principio tanto el contenido de la papelera (Trash) como el de la cache puede no tener interés respaldarlo. Además, en ocasione demoran la operación por su tremendo contenido.
Otros ejemplos pueden ser:
--exclude=Descargas/ --exclude=Fotos/
Se pone sólo el nombre de la carpeta y no la ruta, que en estos ejemplos podrían ser:
/home/my_usuario/.local/share/Trash
/home/my_usuario/Imágenes/Fotos
Es decir que se hace referencia a una carpeta con independencia de cual sea su ruta dentro de ORIGEN. Por esa razón se excluyen todas las carpetas con la denominación que se especifica. Si sólo existe, una carpeta “Fotos” no hay problema. Pero si existen en ORIGEN más de una carpeta con el mismo nombre, entonces hay que indicar la carpeta que contiene a la que queremos excluir. Por ejemplo, tenemos dos carpetas “Fotos”, una en /Imágenes/Fotos/” y otra en “/Documentos/Fotos”, y es la primera la que queremos excluir, entonces:
--exclude=Imágenes/Fotos/
Téngase en cuenta que no se pone “/” al principio (=Imágenes/Fotos/).
Nota: Este apartado, por poner un ejemplo, está completado con un apunte que en su día comento un buen amigo del blog (Señor Paquito) en el artículo original.
En cuanto a excluir archivos, se puede aplicar a uno concreto o a todo un tipo de archivos con la misma extensión. Por ejemplo:
--exclude=libro.pdf --exclude=*.pdf
3.3. Opciones adicionales
Algo que nos puede venir bien aquí es indicar a Grsync que cuando termine de trabajar apague el ordenador. Para ello, marcamos “Ejecutar este comando después de rsync:” y escribimos en el cajetín: shutdown.
Ahora bien, con esta opción configurada no ejecutar la simulación (“i”), porque aunque no realizará la sincronización sí nos apagará el ordenador.
Saludos flamencos,
También te pueden interesar otras tutoriales sobre GNU/Linux ⇒
2 ideas sobre “Grsync: Copia de seguridad incremental de archivos y directorios entre un ordenador y una unidad extraíble USB.”
Genial Benja, como siempre.
Solrak como siempre tan amable. Saludos flamencos,