Sincronización de archivos y directorios con Rsync y Grsync. Copia incremental de seguridad de datos.


Rsync permite copiar/sincronizar archivos y directorios entre dos máquinas de una red o entre dos ubicaciones en una misma máquina. Por lo general suele estar en los repositorios oficiales de las distribuciones Linux y es una de las herramientas más potentes en su genero. Funciona mediante líneas de comandos, lo cual puede ser un contratiempo para usuarios “normalitos” -como es mi caso- pero existe Grsync para facilitar y hacer muy sencillo la utilización de rsync. Grsync es una interfaz gráfica (GUI) para rsync, que aunque no desarrolla toda la potencia que posee esta herramienta, es más que suficiente para tener copias actualizadas de respaldo de nuestros datos.


Esta aplicación nos va a permitir hacer una copia de seguridad de un directorio origen, que puede estar en el primer disco duro de nuestra computadora, a otro directorio destino, que puede estar en una unidad USB. Aunque también el origen puede ser la unidad USB y el destino el disco duro u otra unidad USB. En cualquier caso hace una copia incremental en el destino, por lo que tendremos una copia actualizada de los archivos y directorios de origen, copiando cada vez que ejecutemos Grsync solamente las modificaciones que se hayan producido desde la anterior copia, y se eliminaran en el destino los archivos que ya no estén en el directorio origen. Esta es la capacidad que yo personalmente utilizo de Grsync y es el objeto de esta tutorial. El procedimiento como veremos es realmente sencillo.

Grsync

Al abrir la aplicación en la ventana principal observaremos tres secciones: Un desplegable para guardar las sesiones que hayamos programado, con unos iconos a la derecha; origen y destino, donde estableceremos las rutas pertinentes para cada sesión; y opciones de la copia/sincronización.

Sesiones

Aquí podemos definir varias copias de seguridad, o de sincronización, distintas en cuanto al directorio origen y destino, que podremos seleccionar en cada momento mediante el desplegable. Picando en “+” se abre una ventana donde pondremos un nombre concreto que identifique cada una de las copias de seguridad que queremos establecer. Si presionamos en “x” eliminamos la sesión en ese momento seleccionada.

Origen y destino

Mediante el navegador que se abre al picar en el icono de carpeta a la derecha, establecemos primero la ruta del directorio origen que es donde están los archivos y directorios que queremos respaldar, y, segundo, definimos el destino donde se almacenarán.

Por ejemplo podemos definir una sesión del usuario Pepe y que denominaremos Pepe. Primero picamos en el icono “+” y escribimos Pepe. Y después establecemos el origen y el destino. Por ejemplo:

Origen: /home/pepe
Destino:/media/sdc1/Seguridad_Datos

Nuestra copia de respaldo estará en /media/sdc1/Seguridad_Datos/pepe.

Es decir la copia incremental de pepe estará en un directorio llamado Seguridad_Datos, de un tercer disco (sdc1) que puede ser un dispositivo de almacenamiento USB.

También podemos crea la sesión Documentos que atañe sólo al directorio Documentos del usuario pepe, que es el que, por ejemplo, se utiliza prácticamente todos los días y donde se producen muchas más modificaciones:

Origen:/home/pepe/Documentos
Destino: /media/sdc1/Seguridad_Datos/pepe/

Esta segunda sesión es la que se debería ejecutar con más frecuencia y al ser parte del usuario pepe llevaría menos tiempo en completarse.

Opciones

Las distintas opciones que nos permite la aplicación para hacer nuestra copia incremental de seguridad están distribuidas muy acertádamente en las 3 pestañas, de menos a más avanzadas (Opciones básicas, avanzadas y adicionales) de tal manera que un usuario puede que sólo necesite normalmente configurar las opciones de la primera (Básicas). Estas son en realidad mis necesidades usuales, lo que pretendo es sincronizar un directorio origen y otro destino para que sean identicos.

Así pues, lo que tenemos que marcar en la primera pestaña (Opciones básicas) es: Mantener fecha, Mantener el propietario, Mantener permisos, Mantener grupos. Es importante también marcar “Eliminar en destino” borrara todos aquellos archivos y directorios que ya no están en el origen. También podemos marcar “No dejar el sistema de archivos” y “Compatibilidad con Windows”. “Mostrar el estado de transferencia” nos permite ver el avance de las operaciones cuando se está ejecutado una sesión en concreto.

De esta forma ya estaríamos en condiciones de hacer nuestra primera copia de seguridad y en lo sucesivo sincronizar origen y destino. No obstante, y sin complicar mucho más el procedimiento, hay algo más que nos puede interesar conocer.

Preferencias de Grsync

Preferencias” la encontramos en el menú “Archivo”. Aquí hay algunas opciones que pueden ser útiles, como “Mostrar la salida de resync de forma predeterminada”, mediante la cual veremos paso a paso el proceso que está llevando a cabo resync; es una forma de comprobar que todo esta yendo correctamente. Esta opción, no obstante, lo podemos activar o desactivar en cada momento en la ventana que se abre cuando ejecutamos Grsync. La opción “Mostrar la lista de errores al finalizar” nos informa en una ventana de los errores que se hayan podido producir; es práctico aunque no suelen ocurrir errores. “Activar botón de cambio”, el cual aparecerá junto a los iconos de las carpetas de establecimiento de las rutas de origen y destino, y conmuta como veremos el sentido de la sincronización.

Opciones avanzadas y adicionales

En opciones avanzadas es interesante conocer al menos “Suma de comprobación siempre” que compara siempre el contenido de los archivos; el proceso de sincronización tiene una mayor duración pero nos quedaremos más tranquilos. Y “Comprimir datos” si tuviéramos limitado el espacio para la copia de seguridad. Por defecto siempre me he encontrado marcado “Proteger los argumentos remotos”, así que la dejo de esa forma.



En opciones adicionales podemos marcar “Ejecutar como superusuario” si nos interesara que para que se ejecuten las sesiones sea necesario facilitar la clave de root.

Aquí también tenemos una terminal para introducir mediante línea de comandos órdenes de rsync que Grsync no implementa mediante la interfaz. Estos comando pueden ser para “Ejecutar antes de rsync” o “después de rsync”. En relación a los primeros, y siguiendo con la idea de no complicarnos mucho, puede ser útil “exclude” que permite eliminar de la sincronización algún subdirectorio o archivo. Un ejemplo de como se utiliza este comando puede ser:

--exclude=/home/pepe/Escritorio/


Intercambiar origen por destino

Esta orden la encontramos en el desplegable de “Archivo”, o podemos activarla con el icono que veíamos antes: “Activar botón de cambio”. Puede ser muy útil por ejemplo cuando un directorio los tenemos en el disco duro y en una unidad USB y trabajamos, por las razones que sean, indistintamente en uno u otro 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.

Ejecutar

Simplemente hay que picar en el icono situado en el extremo derecho, o en Archivos>Ejecutar. También podemos hacer una simulación previa picando en Archivos>Simulación. Si seleccionamos en la tercera pestaña “Ejecutar como superusuario” nos pedirá la clave de root. Y si en Archivo>Preferencias seleccionamos “Mostrar la salida de resync de forma predeterminada” en la ventana inferior de ejecución podremos ver todo el proceso lo cual nos permitirá hacer un seguimiento de comprobación de que se está haciendo aquello que habíamos programado. Esta información no obstante la podemos obtener durante la ejecución presionando en “Salida de rsync”, como se indicaba anteriormente. 


Cuando termine de procesar el trabajo en la ventana nos indicará en texto en color verde "Completado correctamente". Y en color rojo si hay errores, pero he de decir que sólo me ha aparecido ese color rojo por meteduras de pata mías: esta aplicación es muy, muy fiable.

Saludos flamencos,

También te pueden interesar otras tutoriales y temas como viajes, naturaleza, música y cocina.


Comentarios

  1. Usuario "normalito": En el título deberías poner solo "grsync" y no "rsync y grsync" ya que sobre rsync utilizas lo único que haces es nombrarlo...

    ResponderEliminar
    Respuestas
    1. Es posible pero sin rsync no rula grsync.
      Gracias por el comentario y saludos flamencos.

      Eliminar
    2. Usuario Jerson, muchos otros usuarios ("normalitos" o no) hemos entendido perfectamente el contenido de la entrada. Sobra tu ironía igual que sobran usuarios de Linux tan "sobrados" como tú. ;-)

      Eliminar
    3. Sobran los usuarios sobrados. Concuerdo con Jose Luis.

      Eliminar
  2. Saludos Flamencos,
    Llevo leyendo tu blog un tiempo y cada vez me resulta más útil e interesante.
    Quiero darte las gracias por esto que haces, es de mucha ayuda. Larga vida a este lugar.

    ResponderEliminar
    Respuestas
    1. Muy amable, gracias por este comentario, y por los que has dejado en los otros tres artículos. Es agradable saber que todo esto es útil, y espero como tu que tenga larga vida.
      Saludos flamencos y feliz 2014,

      Eliminar
  3. Llevaba años buscando algo así. Gracias, por tu blog, por tu esfuerzo, por tu profesionalidad.

    Por cierto, hay una opción cuando creas un nuevo perfil que se llama "add as session set" que al marcarlo no se que ha pasado. Y luego al eliminar la sesión que había creado ha borrado también la sesión default.

    ResponderEliminar
    Respuestas
    1. Nunca he creado esa opción, siempre voy de una en una; que por cierto puede ser un disco de 500 GB. Pero no te preocupes crea tus sesiones y ya veras que herramienta más estupenda.
      Saludos flamencos,

      Eliminar
    2. Mi objetivo es trabajar con una carpeta donde tengo todos mis documentos. ~600GB. Y que se vaya actualizando la copia de seguidad que tengo en un disco duro extreno. Las aplicaciones que vi en el pasado, me sincronizaban las carpetas, y las dejaban identicas, lo cual, no es lo que yo quería (se me estropeaba el trabajo), yo quiero que se priorice el origen, y que los cambios del origen se trasladen al destino, eliminación o creación de documentos y carpetas, cambios de lugar, etc. Rsync con Grsync lo hace :D, gracias.

      La duda que me viene ahora mismo, ¿los archivos del origen nunca peligran?
      Y, mi copia de seguridad es muy grande, luego, ¿es normal que tarde tanto en empezar? El disco duro externo se ha llegado a poner incluso en reposo. No se si el proceso no funcionaba, pero lo cancelé a los minutos por quedarse en 0%, creo que estaba creando la lista de archivos, ¿han peligrado mis documentos en el origen?

      Gracias y saludos alicantinescos,

      Eliminar
    3. Me vienen otras dudas, tengo claro que en origen hay que seleccinar la carpeta qie queremos, pero en destino, seleccionamos la ubicación donde irá la carpeta a salvar.

      -La cuestión es, si ya previamente habíamos salvado la carpeta (A) en un disco duro externo, una copia de toda la vida, debemos seleccionar en destino el directorio por encima o la propia carpeta (A). Al marcar la carpeta (A) en destino, al seleccionar propiedades se han duplicado el número de archivos, pero luego no los veo.

      -Y otra cuestión, ¿se puede iniciar la sincronización con una carpeta que salvamos previamente (con una copia completa de toda la vida) y no con el programa rsync?

      Saludos y gracias,

      Eliminar
    4. Veamos vecino, te respondo a las cuestiones de los dos comentarios:

      -Los archivos de origen siempre que este en la ruta de origen no tienen riesgo.

      -Puedes copiar una carpeta o todo el contenido de un disco en otro disco de forma normal (copiar y pegar) y después sicronizarlo con Grsync; o una copia que tuvieras con anterioridad, da igual. La primera vez que sincronices origen y destino le llevará su tiempo, no tengas prisa. Después será más rápido, pero no tengas prisa, tranquilo.

      Un ejemplo:
      -Los datos de origen (Datos) están en un disco /media/sda3/Datos
      Y el destino en /media/sdb1/seguridad
      La carpeta Datos de respaldo que se sincronizará con la de origen estará en el subdirectorio /seguridad, y no la ponemos en la ruta (Grsync).

      También puedes, como hago yo, que dentro del disco origen hay una carpeta que es la que más utilizo y en muchas ocasiones es esta sólo la que sincronizo. Pare ello creamos otra actividad. Fotografía

      Origen /media/sda3/Datos/Fotografía
      Destino /media/sdb1/Datos

      Y bueno el proceso es algo más rápido.

      Saludos flamencos murcianos,

      Eliminar
    5. Disculpa un error, en el segundo ejemplo es:
      Destino /media/sdb1/seguridad/Datos

      Eliminar
    6. Muchísimas gracias por aclarar mis dudas :) Saludos alicantinos,

      Eliminar
  4. Hola Benjamín, buenos días (desde Argentina). Hace dos días que encontré tu blog y la verdad que me encantó todo lo que ví y leí hasta ahora..
    Al igual que vos, por lo que estuve leyendo hasta ahora, uso OpenSuse, hoy la V13.1, así que todo lo que estoy leyendo me viene como anillo al dedo, aprendo cosas nuevas y otras que ya lo sabía o me había olvidado.
    Respecto a este tema de GRsync, puedo decir que ayer lo vi en la lista de programas y como el nombre me pareció conocido me puse a leer tu artículo.
    Desde ayer estoy restaurando todo mi sistema, incluso el home, algo que muuuuuuuy de vez en cuando lo suelo hacer, así que esto de GRsync me viene bien para probar otra opción a lo que ya venía usando desde hace tiempo y por lo que leí aquí, mi opción parece ser mas completo (una humilde opinión).
    Uso Synkron, desconozco si utiliza de fondo rsync, pero todo lo que ofrece y la sencilla e intuitiva interfaz gráfica, hace que las cosas sean muy fáciles de configurar. A mí me encanta, la utilizo todo el tiempo y hasta ahora me resultó genial!. Además tiene una opción de backup y otras más que no tuve tiempo de probar.
    Bueno, la intención de este comentario era presentarme un poco y colaborar con el post aportando este dato; a lo mejor algunos ya lo conocen, pero para el que no, lo invito a que lo hagan, les va a sorprender.
    PD: también te invito a que cuando quieras y si te interesa hagas un post parecido a este, pero con Synkron. (ofrezco ayuda).
    Saludos desde Argentina.

    ResponderEliminar
    Respuestas
    1. Gracias Hector por el comentario y la aportación, siempre son útiles. Utilice en el pasado, Synkron pero en Windows XP, y sí quiero recordar que era fácil de utilizar, aunque también quiero recordar que me daba algún error en las copias, pero, también es verdad, que hace ya alguno años de eso, y las cosas deben haber cambiado. Así que puede ser buena idea probar Synkron en openSUSE; siempre está bien conocer alternativas a cualquier herramienta.

      Saludos flamencos,

      Eliminar
    2. Muchas gracias. Muy amable

      Eliminar
  5. Excelente herramienta, gracias por compartirla. Me gusta la forma práctica y sencilla con que explicas tus post.

    ResponderEliminar
    Respuestas
    1. Me alegro que te haya sido útil y gracias a ti por el comentario.

      Saludos flemencos,

      Eliminar
  6. Hola Benjamin, me preguntaba por qué sucede esto cuando se hace la copia de seguridad y hay iconos:

    skipping non-regular file "Documentos/Escritorio 2/Solrak/Iconos Banco de Trabajo/FaenzaFlattr/actions/scalable/application-menu.svg"
    skipping non-regular file "Documentos/Escritorio 2/Solrak/Iconos Banco de Trabajo/FaenzaFlattr/actions/scalable/appointment-new.svg"
    skipping non-regular file "Documentos/Escritorio 2/Solrak/Iconos Banco de Trabajo/FaenzaFlattr/actions/scalable/appointment_new.svg"


    El programa no los copia y me toca copiar las carpetas de iconos manualmente.

    Saludos

    ResponderEliminar
    Respuestas
    1. Hace años que utilizo Grsync y nunca me ha sucedido algo así, bueno es que siempre me ha funcionado perfectamente, sin errores. En estos momentos no te puedo decir nada, lo siento.

      Suerte y saludos flamencos,

      Eliminar
    2. Gracias Benjamin! esa carpeta la copio manualmente y listo ;)

      Eliminar
  7. He instalado y ejecutado Grsync con tres carpetas, origen en el portátil y USB en destino, una de ellas finaliza con error 23, sabes porqué se produce este error? He buscado y no he encontrado su significado. Las otras carpetas no dan error

    ResponderEliminar
    Respuestas
    1. Como no he tenido nunca problemas con Grsync -que yo recuerde- no le he prestado atención a los posibles errores, así que una vez más no sabría que decir. No obstante, ese error 23 hace referencia a que algunos ficheros no se transfieren. Localiza que ficheros son los que producen ese error (“Salida de rsync” y “Advertencia”) por si se tratara de que estuviesen corruptos o dañados. Si no es así, no sé si sería buena idean, cambiar los ficheros a una nueva carpeta o algo en este sentido.

      Saludos flamencos,

      Eliminar
  8. Hola, cada vez que reinstalo el sistema (debian), y lo suelo reinstalar mas bien cada poco tiempo, soy un poco "trasto", cuando ejecuto rsync entre mi equipo y un disco externo que uso para el backup, me da la impresión que la primera vez que lo ejecuto depués de reinstalar me borra el destino y copia el origen nuevamente, creo que hace eso, por que la segunda vez que lo ejecuto pasa velozmente por todas las carpetas y solo actualiza los archivos nuevos. Mi pregunta es si en la primera ejecución borra el destino y copia todo de nuevo aunque sean ambos origen y destino idénticos. Y si fuese así ¿como se podría evitar?, por que me imagino que después del primer backup guardará en algún fichero el estado de las carpetas y a la segunda vez lo leerá y comparará, si fuese así ¿que archivo es ese?, por que me gustaría respaldarlo para que después, de reinstalar no se tire la torta copiando todo de nuevo con el consiguiente machaque de disco. Perdona el sermón, no tengo ni idea de si lo que digo es así.... HELP.... Un abrazo.

    ResponderEliminar
    Respuestas
    1. Disculpa Jose por no haber atendido tu comentario antes pero me pillaste de viaje.
      Si te cargas el sistema con frecuencia -eso me ocurría al principio por manifacero a mi también- te recomiendo que hagas imágenes de seguridad del sistema con Clonezilla, que después de un desastre te permiten recuperarlo fácilmente. Aquí tienes unas tutoriales sobre esto:

      https://diversidadyunpocodetodo.blogspot.com.es/2012/08/clonezilla-imagen-seguridad-linux-windows-particiones-disco-duro.html

      https://diversidadyunpocodetodo.blogspot.com.es/2012/08/clonezilla-restaurar-imagen-seguridad-linux-windows-particiones-duro.html

      En cuanto a Grsync, si origen y destino son idénticas no borra destino la primera vez que se ejecuta, tarda algo más porque hace un chequeo, pero este no es demasiado largo sólo un poco más, al menos según mi experiencia.

      Saludos flamencos,

      Eliminar
  9. Excelente programa, aunque yo me arreglo bastante mejor con FreeFileSync. Me parece más completo y sencillo de utilizar.

    ResponderEliminar
    Respuestas
    1. FreeFileSync es también una buena alternativa, lo he utilizado pero en Windows en el trabajo y siempre ha respondido muy bien. Gracias amigo por comentarlo, es otra opción interesante.

      Saludos flamencos,

      Eliminar

Publicar un comentario