Unison: una herramienta de sincronización de archivos local/remota definitiva para Linux


La sincronización de archivos es el proceso de duplicación de archivos y datos en dos o más ubicaciones de acuerdo con ciertos protocolos. Los archivos y los datos son lo más valioso en esta era de la tecnología de la información. Mediante la sincronización de archivos, nos aseguramos de que una o más copias de nuestros datos invaluables estén siempre disponibles en caso de desastre de cualquier tipo o cuando necesitemos trabajar en muchos lugares.

Se supone que un buen sincronizador de archivos tiene las siguientes características enumeradas:

  1. Sincronización criptográfica, como implementación de seguridad.
  2. Una buena relación de compresión de datos.
  3. Una implementación de algoritmo perfecta para verificar la duplicación de datos.
  4. Realice un seguimiento de los cambios en la fuente del archivo.
  5. Sincronización programada.

Una de esas herramientas es Unison. Aquí, en este artículo, discutiremos "Unison" en detalle, junto con sus características, funcionalidad y mucho más.

¿Qué es Unison?

Unison es una aplicación de sincronización de archivos multiplataforma que es útil para sincronizar datos entre dos o más ubicaciones, ya sean computadoras o dispositivos de almacenamiento.

  1. Publicado bajo licencia pública general (GPL)
  2. Código abierto y multiplataforma disponible para (Linux, Unix, BSD, Windows, Mac)
  3. Hacer disponible la misma versión del archivo en diferentes máquinas, independientemente de la última ubicación modificada.
  4. Es posible la sincronización multiplataforma, es decir, una máquina con Windows se puede sincronizar a través de un servidor * nix.
  5. Comunicarse a través del protocolo estándar TCP/IP, es decir, posible entre dos máquinas a través de Internet independientemente de la ubicación geográfica.
  6. Gestión inteligente: muestra el conflicto cuando un archivo se ha modificado en ambas fuentes y se lo muestra al usuario.
  7. Conexión SSH segura: una transferencia de datos cifrada.
  8. El algoritmo rsync se implementa aquí, solo la parte modificada se transfiere y se sobrescribe. Por eso. es rápido en ejecución y mantenimiento.
  9. De naturaleza robusta
  10. Escrito en lenguaje de programación "Objective Caml".
  11. Madurado y estable, no se requiere desarrollo activo.
  12. Es un programa a nivel de usuario, es decir, la aplicación no necesita privilegios de superusuario.
  13. Es conocido por su especificación clara y precisa.

Instalación de Unison en Linux

La versión estable actual (Unison-2.40.102) se puede descargar desde el siguiente enlace:

Descargar Unison 2.40.102 Estable

Alternativamente, también podemos descargar e instalar “Unison”, si está disponible en repositorio usando el comando apt o yum como se muestra a continuación.

Abra el terminal usando “Ctr + Alt + T” y ejecute el siguiente comando en el terminal.

$ sudo apt-get install unison

Primero, habilite el repositorio EPEL y luego instálelo usando el siguiente comando.

$ sudo yum install unison

NOTA: El comando anterior instalará Unison sin GUI. Si necesita instalar Unison con soporte GUI, instale el paquete "unison-gtk" (solo disponible para distribuciones basadas en Debian) usando el siguiente comando.

# apt-get install unison-gtk

Cómo utilizar Unison

Unison se utiliza para sincronizar un conjunto de archivos en un árbol de directorios a otra ubicación con una estructura similar, que puede ser un host local o un host remoto.

Creemos 5 archivos en su Escritorio y luego sincronizémoslos con una carpeta llamada "escritorio" en su directorio de inicio.

$ cd Desktop/
$ touch 1.txt 2.txt 3.txt 4.txt 5.txt
$ ls

1.txt 2.txt 3.txt 4.txt 5.txt
$ mkdir /home/server/desk-back

Ahora ejecute el comando "unísono" para sincronizar los archivos de su escritorio en "escritorio" en su directorio de inicio.

$ unison /home/server/Desktop /home/server/desk-back/
Contacting server...
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
/home/server/Desktop
/home/server/desk-back
This can happen either
because this is the first time you have synchronized these roots,
or because you have upgraded Unison to a new version with a different
archive format.
Update detection may take a while on this run if the replicas are
large.
Unison will assume that the 'last synchronized state' of both replicas
was completely empty. This means that any files that are different
will be reported as conflicts, and any files that exist only on one
replica will be judged as new and propagated to the other replica.
If the two replicas are identical, then no changes will be reported.If you see this message repeatedly, it may be because one of your machines
is getting its address from DHCP, which is causing its host name to change
between synchronizations. See the documentation for the UNISONLOCALHOSTNAME
environment variable for advice on how to correct this.
Donations to the Unison project are gratefully accepted:
http://www.cis.upenn.edu/~bcpierce/unison
Press return to continue.[]
...
...
Saving synchronizer state
Synchronization complete at 13:52:15 (5 items transferred, 0 skipped, 0 failed)

Ahora verifique la ubicación/casa/servidor/escritorio, si el proceso de sincronización fue exitoso.

$ cd /home/server/desk-back/
$ ls

1.txt 2.txt 3.txt 4.txt 5.txt

Para la sincronización de archivos remota, debe tener la misma versión de Unison instalada tanto en el servidor local como en el remoto. Ejecute el siguiente comando para verificar que el unísono local pueda iniciarse y conectarse al servidor unísono remoto.

$ unison -testServer /home/ravisaive/Desktop/ ssh://172.16.25.125//home/ravisaive/Desktop/
Contacting server...
[email protected]'s password: 
Connected [//tecmint//home/ravisaive/Desktop -> //tecmint//home/ravisaive/Desktop]

Los resultados anteriores indican que el servidor remoto está conectado correctamente, ahora sincronice los archivos usando el siguiente comando.

$ unison -batch /home/ravisaive/Desktop/ ssh://172.16.25.125//home/ravisaive/Desktop/

El primer paso es configurar el perfil, que requiere que configure información básica como el nombre de un perfil y lo que desea sincronizar, la ubicación de origen y destino, etc.

Para iniciar la GUI de Unison, ejecute el siguiente comando en la terminal.

$ unison-gtk

Una vez que se crea el perfil y se ingresa el origen y el destino, se nos da la bienvenida con la siguiente ventana.

Simplemente seleccione todos los archivos y haga clic en Aceptar. Los archivos comenzarán a sincronizarse desde ambas direcciones, según la última marca de tiempo de actualización.

Conclusión

Unison es una herramienta maravillosa que hace posible tener una sincronización personalizada de cualquier manera (bidireccional), disponible en la GUI y en la utilidad de línea de comandos. Unison ofrece lo que promete. Esta herramienta es muy fácil de usar y no requiere ningún esfuerzo adicional. Como tester, quedé muy impresionado con esta aplicación. Tiene una gran cantidad de características que se pueden implementar según sea necesario. Para obtener más información, lea unison-manual.

  1. Rsync (sincronización remota) de archivos
  2. Sincronizador de archivos Rsnapshot (basado en Rsync)

Eso es todo por ahora. Pronto estaré aquí de nuevo con otro artículo interesante. Hasta entonces, estad atentos y conectados a Tecmint. No olvide enviarnos sus valiosos comentarios en nuestra sección de comentarios.