Búsqueda de sitios web

Unison: la mejor herramienta de sincronización de archivos local/remota 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 valiosos datos 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 debe tener las características enumeradas a continuación:

  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 comprobar la duplicación de datos.
  4. Realice un seguimiento de los cambios en el origen del archivo.
  5. Sincronización programada.

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

¿Qué es el unísono?

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

Características del unísono

  1. Publicado bajo Licencia Pública General (GPL)
  2. Código abierto y multiplataforma disponible para (Linux, Unix, BSD, Windows, Mac)
  3. Haga que la misma versión del archivo esté disponible en diferentes máquinas, independientemente de la ubicación de la última modificación.
  4. Es posible la sincronización entre plataformas, es decir, una máquina Windows se puede sincronizar a través de un servidor *nix.
  5. Comunicarse a través del protocolo estándar TCP/IP, es decir, es 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. Aquí se implementa el algoritmo rsync, solo se transfiere y sobrescribe la parte modificada. 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 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 sus especificaciones claras y precisas.

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 el repositorio usando el comando apt o yum como se muestra a continuación.

En Debian/Ubuntu/Linux Mint

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

sudo apt-get install unison
En RHEL/CentOS/Fedora

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 el unísono

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

Sincronización de archivos locales

Creemos 5 archivos en su escritorio y luego sincronicémoslos con una carpeta llamada "desk-back" 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 'unison' para sincronizar los archivos de su escritorio en 'desk-back' en su directorio de inicio.

unison /home/server/Desktop /home/server/desk-back/
Salida de muestra
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 /home/server/desk-back, si el proceso de sincronización fue exitoso.

cd /home/server/desk-back/
ls

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

Sincronización remota de archivos

Para la sincronización remota de archivos, debe tener instalada la misma versión de Unison 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/
Salida de muestra
Contacting server...
[email '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/

Ejecutando GUI Unison

El primer paso es configurar el perfil, lo que requiere que establezca 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 Unison GUI, 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 marca de tiempo de la última actualización.

Conclusión

Unison es una herramienta maravillosa que permite tener una sincronización personalizada en cualquier sentido (bidireccional), disponible en 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 probador, quedé muy impresionado con esta aplicación. Tiene una gran cantidad de funciones que se pueden implementar según sea necesario. Para más información lea el manual unísono.

Lea también:

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

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