Cómo usar unísono para sincronizar archivos entre servidores

Cómo usar unísono para sincronizar archivos entre servidores
Este tutorial le mostrará cómo configurar y usar la herramienta de sincronización de archivos unísono en Debian Systems. Usando unison, puede sincronizar archivos entre dos discos o directorios diferentes en el mismo sistema o otros dos sistemas a través de la red.

Que es unísono?

La tecnología unísona desarrollada por Benjamin C Pierce bajo la licencia GPL permite a los usuarios sincronizar dos instancias de un solo archivo en el mismo sistema, pero diferentes discos o dos sistemas otros sistemas.

Unison le permite mantener una versión actualizada e idéntica del mismo archivo o directorio. Es utilizado en una amplia variedad de contextos, como SSH, que permite la transferencia segura de datos entre dispositivos o directorios.

La herramienta Unison es multiplataforma, lo que permite a los usuarios sincronizar archivos y directorios entre sistemas que ejecutan los mismos o diferentes sistemas operativos. Por ejemplo, puede sincronizar archivos de un sistema Linux a un sistema BSD. Debido a sus características de seguridad, unison sincroniza archivos y directorios y aplica derechos de propiedad y permisos en ambos sistemas.

La herramienta unison se desarrolla con seguridad en mente y puede sobrevivir a las fallas donde ocurren interrupciones entre los puntos de sincronización. Si Unison detecta los conflictos de archivos y directorio, informa los conflictos existentes y permite a los usuarios seleccionar qué versión de los archivos debe aplicarse.

Unison puede funcionar con o es compatible con las redes lisas, por lo que es una herramienta muy eficiente para el uso de ancho de banda. Solo sincroniza piezas y directorios que han cambiado, evitando así una carga pesada y actualizando el proceso de sincronización de manera muy fácil y rápida.

A pesar de su contexto de uso principal, Unison es una herramienta poderosa que se puede modificar para crear una amplia gama de casos de uso.

Este tutorial discutirá cómo instalar y configurar el sistema de sincronización de archivos del unísono en Debian 10.

Cómo instalar unísono en Debian 10

Unison es una herramienta popular; Debido a eso, está disponible en repositorios oficiales de las principales distribuciones de Linux.

Para instalar la versión de línea de comandos de Unison en Debian, comience a actualizar el sistema:

SUDO apt-get actualización && sudo apt-get actualización

A continuación, use el simple apto para comandar para instalar la herramienta.

sudo apt -get install unison -y

Si tiene un entorno de escritorio instalado en su sistema y prefiere una versión GUI de la herramienta, instale unison-gtk usando el comando:

sudo apt-get install unison-gtk

NOTA: Asegúrese de instalar unísono en ambas versiones de los sistemas que desea sincronizar entre ellos entre ellos. Para la compatibilidad y para minimizar las posibilidades de errores, es mejor tener la misma versión de unísono en ambos sistemas.

Cómo sincronizar archivos con unísono

Unison nos proporciona formas de sincronizar archivos y directorios entre máquinas locales y máquinas remotas utilizando conexiones directas y SSH. Dado que estamos sincronizando entre dos servidores Debian, omitiremos la sincronización de la máquina local.

Unison Remote y Remote Sync a través de SSH

Para sincronizar archivos y directorios entre máquinas remotas, deberá tener instalado unísono en ambos sistemas, tener acceso SSH tanto a los sistemas como a sus direcciones IP.

También puede usar su máquina local como un servidor y el dispositivo remoto como el otro servidor.

  • 192.168.0.200 - servidor1
  • 192.168.0.201 - servidor2

El primer paso es crear una clave privada y pública en el servidor remoto1.

ssh -keygen -t RSA
Generación de pares de claves RSA públicas/privadas.
Ingrese el archivo en el que guardar la clave (/home/csalem/.ssh/id_rsa):
Directorio creado '/home/csalem/.ssh '.
Ingrese la frase de pases (vacío sin frase de pases):
Ingrese la misma frase de pases nuevamente:
Su identificación ha sido guardada en/home/csalem/.ssh/id_rsa.
Su clave pública ha sido guardada en/home/csalem/.ssh/id_rsa.pub.
La huella digital clave es:
Sha256: 4p5yuebea5lrinzqpgWhrvhss0tnliil70a0q2mfcs8 csalem@Debian-PC
La imagen de arte aleatoria de la llave es:
+---[RSA 2048]----+
|+/@= ... |
| =*O == |
| ++ OE . |
|+*o ... |
| o+= . S |
|++. O . |
| oo ... o |
|.O . = . |
|… O O |
+----[SHA256]-----+

Omita rápidamente el proceso de generación de claves y guarde el archivo. No agregue una frase de contraseña porque puede obstaculizar la sincronización sin supervisión entre los servidores.

A continuación, copie la clave de Server1 a Server2 usando el comando:

SSH-Copy-ID 192.168.0.201

Ahora que tiene una configuración de SSH en ambos sistemas, puede iniciar unison para sincronizar archivos y directorios.

Probemos el uso de unísono en ambos servidores creando el directorio que sincronizaremos en Server1:

mkdir -p /dir1

En el servidor2, cree un directorio como se indica

mkdir -p /dir2

Como se mencionó, Unison respeta los permisos de los usuarios. Por lo tanto, es mejor cambiar los permisos y la propiedad en ambos directorios para garantizar que ambos directorios hayan leído y escriban privilegios.

A continuación, agregue todos los datos que desea sincronizar entre los servidores en Dir1. Por ejemplo, agregue algunos archivos zip.

sudo mv ~/documentos.Zip /Dir1

Al tener los archivos, queremos sincronizar en el directorio correcto, ejecutar el comando unison para sincronizar del servidor uno como:

Unison/Dir1 ssh: // 192.168.0.201 // dir2

En el primer lanzamiento del unísono, recibirá una advertencia de que el proceso de sincronización puede llevar un tiempo. Si tiene archivos grandes en los directorios, esto puede llevar un tiempo, pero como solo lo estamos utilizando para fines de prueba, debe ser relativamente rápido.

Presione Entrar para iniciar el proceso de sincronización. Una vez que se complete el proceso de sincronización, vaya a Server2, navegue a Dir2 y enumere el contenido del directorio como:

CD /DIR2 && LS -LA
-RW-R-R-- 1 raíz 436 5 de enero 12:57 Documentos.cremallera

Modificar la configuración del unísono

En la mayoría de los casos, no queremos sincronizar interactivamente archivos entre estos servidores, ya que el proceso es repetitivo e ineficiente. Podemos editar el archivo de configuración de unísono para permitir archivos de sincronización automáticos.

Use el comando a continuación para editar el archivo de configuración predeterminado:

sudo vi ~/.unísono/predeterminado.PRF

En el archivo, agregue las siguientes líneas:

auto = verdadero
lote = verdadero

Las líneas anteriores deshabilitan las indicaciones al sincronizar archivos, automatizar el proceso.

Configuración de unison cronjob

Una cosa segura es que los programadores son muy reacios a hacer las cosas manualmente, especialmente cuando es posible automatizar, que es el caso aquí. Podemos configurar un cronjob para que Unison esté realizando sincronización automáticamente.

En Server1, cree un script bash simple para ejecutar el comando unison como:

sudo touch/usr/bin/unisoncron && sudo vi/usr/bin/unisoncron

En el archivo, comience con un shebang y agregue el comando de sincronización unison:

#!/bin/bash/
Unison/Dir1 ssh: // 192.168.0.201 // dir2

Como de costumbre, haga que el script ejecute permisos:

sudo chmod 755/usr/bin/unisoncron

Ahora edite su archivo Cronjob con Crontab:

sudo crontab -e

Si esta es la primera vez que edita Crontab, espero que no sea elige a su editor e ingrese la siguiente línea para sincronizar con unísono cada 1 hora:

*/60 * * * */usr/bin/unisoncron &>/dev/null

También puede configurar el crontab para correr en momentos específicos del día. Tampoco necesita usar un script y puede usar un comando sin procesar en el crontab.

Conclusión

Este tutorial le mostró cómo instalar y configurar unísono en un sistema de Debian para la sincronización de archivos y directorios.

Aunque esta guía rápida puede ayudarlo a comenzar, puede obtener más información utilizando páginas de unison Man (páginas manuales) o la documentación oficial utilizando el recurso que se proporciona a continuación:

  • https: // www.cis.upenn.edu/~ bcpierce/unison/
  • https: // www.cis.upenn.edu/~ bcpierce/unison/descargar/comunes/stable/unison-manual.html