GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo sincronizar archivos con Unison en Linux

Este tutorial lo guiará a través de cómo instalar la herramienta de sincronización de archivos Unison en Linux y cómo sincronizar archivos con Unison entre dos directorios y/o discos diferentes en el mismo sistema y dos máquinas Linux diferentes a través de una red de área local.

Introducción a Unísono

Unísono es gratuito, de código abierto, multiplataforma y bidireccional herramienta de sincronización de archivos. Se utiliza para almacenar dos réplicas de archivos y directorios en dos sistemas diferentes o discos diferentes en el mismo sistema.

Las réplicas de archivos y directorios se modifican por separado y luego se actualizan propagando los cambios en cada réplica a la otra.

Para poner esto en términos simples, cualquier cambio en una ubicación se replicará en otra ubicación y viceversa.

Dado que es una aplicación multiplataforma, puede sincronizar archivos y directorios entre computadoras que se ejecutan con diferentes sistemas operativos.

Por ejemplo, puede sincronizar archivos almacenados en una máquina Linux con máquinas Windows o Unix y viceversa. No solo se sincronizará el contenido del archivo, sino también la propiedad y los permisos del archivo.

Si el contenido es diferente en ambas réplicas, se genera un conflicto. Unison detectará y mostrará dichos conflictos. En ese caso, debe indicarle a Unison qué réplica debe anular a la otra. Las actualizaciones que no entren en conflicto se propagarán automáticamente.

Unison funciona bien con cualquier par de computadoras conectadas a una red de área local o Internet. Los archivos se sincronizan con un sistema remoto a través de un ssh cifrado conexión.

Otra característica notable de Unison es que funciona bien en enlaces lentos como las conexiones PPP. Similar a rsync , Unison solo transferirá las partes de un archivo que hayan sido modificadas.

La implementación integrada de Unison del algoritmo rsync hace que la transferencia de actualizaciones a archivos existentes sea muy rápida.

Unison es un programa a nivel de usuario, por lo que no es necesario modificar el kernel ni tener privilegios de superusuario en ninguno de los hosts.

El programa Unison es creado por Benjamin C. Pierce y se publica bajo licencia GPL. Funciona bajo plataformas GNU/Linux, Windows y Unix.

Instalar Unison en Linux

Unison está disponible en los repositorios predeterminados en los repositorios oficiales de muchos sistemas operativos Linux.

Para instalar Unison en Alpine Linux, ejecute:

$ sudo apk add unison

Instale Unison en Arch Linux y sus variantes como EndeavourOS y Manjaro Linux:

$ sudo pacman -S unison

Debian, Ubuntu, Linux Mint:

$ sudo apt install unison

Fedora:

$ sudo dnf install unison

CentOS 7:

Primero, habilite [EPEL] repositorio:

$ sudo yum install epel-release

Y luego instale unísono:

$ sudo yum install unison

abrirSUSE:

$ sudo zypper install unison

También hay una interfaz gráfica simple llamada unison-gtk está disponible para aquellos que prefieren GUI sobre CLI. Está disponible en los repositorios predeterminados en algunas distribuciones de Linux.

En Alpine Linux, puede instalar Unison-gtk usando el comando:

$ sudo apk add unison-gui

En Arch Linux y sus variantes, instale Unison-gtk usando el comando:

$ sudo pacman -S unison-gtk2

Si está en un sistema basado en Debian, instálelo usando el siguiente comando:

$ sudo apt install unison-gtk

Tenga en cuenta que si desea sincronizar archivos entre dos sistemas diferentes, debe instalar Unison en todos los sistemas que desea mantener sincronizados. Además, se recomienda la misma versión en ambos sistemas.

Sincronizar archivos con Unison en Linux

Podemos usar Unison en los siguientes tres modos diferentes:

  1. Sincronizar archivos almacenados en diferentes directorios en la misma máquina,
  2. Sincronizar archivos y directorios almacenados en diferentes discos en la misma máquina,
  3. Sincronizar archivos y directorios entre máquinas locales y remotas:
    • Sincronizar archivos con una máquina remota a través de una conexión de socket directa,
    • Sincronizar archivos con una máquina remota usando SSH.

1. Sincronice archivos almacenados en diferentes directorios en la misma máquina

Para el propósito de esta guía, voy a crear dos directorios raíz (es decir, réplicas), a saber, directory1 y directory2 .

$ mkdir ~/directory1
$ mkdir ~/directory2

Coloque algunos contenidos en cualquiera de los directorios anteriores. Guardé algunos archivos y directorios dentro de directory1 .

Echemos un vistazo al contenido de directory1 :

$ ls -ltRF directory1/

Salida de muestra:

directory1/:
total 7780
drwxrwxr-x 2 sk sk    4096 Oct  2 15:35 dir1/
-rw-rw-r-- 1 sk sk 7779007 Sep 25 16:51 file2
-rw-rw-r-- 1 sk sk  179765 Aug 17 12:51 file1

directory1/dir1:
total 140
-rw-rw-r-- 1 sk sk 141729 Aug  6 22:34 file3

Como puede ver, tengo una carpeta llamada dir1 y otros dos archivos, a saber, file1 y file2 en la raíz de directory1 . Dentro del dir1 , hay otro archivo llamado file3 .

Y el directory2 réplica no tiene ningún contenido.

$ ls -ltRF directory2/
directory2/:
total 0

Sincronicemos estos dos directorios al unísono con el comando:

$ unison directory1/ directory2/

Se le preguntará si desea continuar sincronizando el contenido de directory1 con directory2 . Simplemente presione ENTER llave. A continuación, Unison le pedirá que confirme los archivos y directorios para sincronizar. Presiona ENTER o presione f para confirmar los archivos y carpetas que desea sincronizar. Finalmente, presiona y y presiona ENTER clave para continuar con la propagación de actualizaciones.

Contacting server...
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
	/home/sk/directory1
	/home/sk/directory2
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

Reconciling changestinue.[<spc>] / file1

directory1     directory2         
dir      ---->            dir1  [f] f
file     ---->            file1  [f] f
file     ---->            file2  [f] f

Proceed with propagating updates? [] y
Propagating updates


UNISON 2.48.4 started propagating changes at 15:43:29.75 on 02 Oct 2020
[BGN] Copying dir1 from /home/sk/directory1 to /home/sk/directory2
[END] Copying dir1
[BGN] Copying file1 from /home/sk/directory1 to /home/sk/directory2
[END] Copying file1
[BGN] Copying file2 from /home/sk/directory1 to /home/sk/directory2
[END] Copying file2
UNISON 2.48.4 finished propagating changes at 15:43:29.81 on 02 Oct 2020


Saving synchronizer state
Synchronization complete at 15:43:29  (3 items transferred, 0 skipped, 0 failed)

Ahora, todo el contenido de directory1 se replicará en directory2 . Puedes verificarlo usando ls comando:

¿Ver? El contenido de ambas réplicas es idéntico. Como ya mencioné, los permisos de archivo y los números de inodo de archivos y carpetas en ambas ubicaciones también están sincronizados. Puede ver que los permisos y los inodos también son idénticos en el resultado anterior.

¿Notó las marcas de flecha en la salida mientras sincronizaba los directorios? Por ejemplo, debería haber notado las siguientes líneas en el medio de la salida:

directory1     directory2         
dir      ---->            dir1  [f] f
file     ---->            file1  [f] f
file     ---->            file2  [f] f

Las marcas de flecha indican la dirección que el cambio necesita ser propagado. En nuestro caso, las flechas apuntan de izquierda a derecha. Significado - el dir1 , file1 y file2 se propagan a la segunda réplica, es decir, directory2 .

Ahora crea un nuevo archivo en directory2 replicar y ver qué pasa.

$ touch directory2/file4

Sincroniza las dos réplicas usando el comando:

$ unison directory1/ directory2/

Ahora verás que una flecha apunta de derecha a izquierda. Significa que los cambios en la segunda réplica se propagan a la primera réplica. En otras palabras, el contenido de directory2 se replican en directory1 .

Contacting server...
Looking for changes
Reconciling changes

directory1     directory2         
         <---- new file   file4  [f] f

Proceed with propagating updates? [] y
Propagating updates


UNISON 2.48.4 started propagating changes at 16:04:08.78 on 02 Oct 2020
[BGN] Copying file4 from /home/sk/directory2 to /home/sk/directory1
[END] Copying file4
UNISON 2.48.4 finished propagating changes at 16:04:08.78 on 02 Oct 2020


Saving synchronizer state
Synchronization complete at 16:04:08  (1 item transferred, 0 skipped, 0 failed)

Unison reconocerá automáticamente qué archivos deben actualizarse en ambas réplicas. Cuando ejecute Unison por primera vez, tomará nota de la marca de tiempo de modificación, los permisos, la propiedad y el número de inodo de todos los archivos y carpetas en ambas ubicaciones. Según esta información, Unison decidirá qué archivos deben actualizarse cuando vuelva a ejecutar el mismo comando. Como se indicó anteriormente, toda la información se mantendrá en ~/.unison directorio.

Para verificarlo usted mismo, modifique el contenido de un archivo existente. Voy a modificar el contenido de file4 en directory1 réplica.

$ echo "Welcome to OSTechNix" > directory1/file4

Ahora inicia la sincronización de nuevo:

$ unison directory1/ directory2/

Esta vez, Unison sincronizará los archivos modificados.

Contacting server...
Looking for changes
Reconciling changes

directory1     directory2         
changed  ---->            file4  [f] f

Proceed with propagating updates? [] y
Propagating updates


UNISON 2.48.4 started propagating changes at 16:05:27.13 on 02 Oct 2020
[BGN] Updating file file4 from /home/sk/directory1 to /home/sk/directory2
[END] Updating file file4
UNISON 2.48.4 finished propagating changes at 16:05:27.14 on 02 Oct 2020


Saving synchronizer state
Synchronization complete at 16:05:27  (1 item transferred, 0 skipped, 0 failed)

Como puede ver en el resultado anterior, Unison ha detectado que file4 se ha cambiado en la primera réplica y se ha sincronizado con la segunda réplica.

Si se modifican ambas réplicas y sus contenidos son diferentes, entonces los cambios están en conflicto. En tales casos, Unison le preguntará al usuario cómo propagar las actualizaciones en ambos lados. Los conflictos se mostrarán con flechas izquierda y derecha como se muestra a continuación.

directory1     directory2         
new file <-?-> new file   file6  [] 

Si alguna acción predeterminada se indica con una flecha, simplemente presione ENTER para pasar al siguiente archivo modificado. Si desea hacer algo diferente con este archivo, puede presionar "<" o ">" para forzar que el cambio se propague de derecha a izquierda o de izquierda a derecha.

directory1     directory2         
new file <==== new file   file6  [] <

Si no desea realizar ningún cambio, simplemente presione "/" para omitir este archivo y dejar ambas réplicas solas.

1.1. Perfiles al unísono

Unison usa perfiles para sincronizar archivos y carpetas entre dos directorios en la misma o en dos máquinas diferentes. Un perfil no es más que un archivo de texto donde definimos la ruta real de los directorios raíz y las preferencias de ruta que deben sincronizarse. Todos los perfiles se almacenarán en .unison directorio en tu $HOME directorio.

Cuando ejecuta Unison por primera vez, un perfil predeterminado llamado default.prf se crea bajo ~/.unison directorio. El perfil predeterminado no tiene ninguna preferencia definida. Entonces, todo lo almacenado en una réplica se sincronizará con otra réplica.

También podemos crear perfiles personalizados con la lista de preferencias de ruta. Esto le ayudará a evitar sincronizar las dos réplicas completas.

Usando los perfiles personalizados, podemos indicarle a Unison:

  • para sincronizar archivos y carpetas específicos,
  • para ignorar un archivo específico o un tipo específico de archivos de la sincronización.

Veamos un ejemplo.

Cree dos réplicas y guarde algunos archivos y carpetas en una réplica y deje la otra vacía.

$ mkdir ~/directory1
$ mkdir ~/directory2

Luego, crea un nuevo perfil llamado dir_profile.prf :

$ nano .unison/dir_profile.prf

Defina los directorios raíz y las rutas de los archivos y directorios que desea sincronizar:

# Roots of the synchronization
root = /home/sk/directory1
root = /home/sk/directory2 

# Paths to synchronize 
path = dir1
path = file2

Las dos raíces se pueden dar en cualquier orden. Unison los ordenará en un orden canónico antes de hacer cualquier otra cosa. Si no especifica ninguna ruta, Unison simplemente sincronizará las dos réplicas completas, comenzando desde el par de raíces dado. Si se dan una o más preferencias de ruta, Unison sincronizará solo estas rutas y sus hijos.

En el ejemplo anterior, he definido el dir1 y file2 debe sincronizarse con otro directorio raíz. Guarde y cierre el archivo.

Después de crear el perfil, inicie el proceso de sincronización usando el comando:

$ unison dir_profile.prf

Se le preguntará si desea continuar sincronizando el contenido de directory1 con directory2 . Simplemente presione ENTER tecla y luego presione f tecla para confirmar las rutas a sincronizar. Finalmente presione y y presiona ENTER clave para continuar con la propagación de actualizaciones.

Contacting server...
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
	/home/sk/directory1
	/home/sk/directory2
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

Reconciling changestinue.[<spc>] | dir1

directory1     directory2         
dir      ---->            dir1  [f] 
file     ---->            file2  [f] 

Proceed with propagating updates? [] y
Propagating updates


UNISON 2.48.4 started propagating changes at 15:42:32.99 on 01 Oct 2020
[BGN] Copying dir1 from /home/sk/directory1 to /home/sk/directory2
[END] Copying dir1
[BGN] Copying file2 from /home/sk/directory1 to /home/sk/directory2
[END] Copying file2
UNISON 2.48.4 finished propagating changes at 15:42:33.04 on 01 Oct 2020


Saving synchronizer state
Synchronization complete at 15:42:33  (2 items transferred, 0 skipped, 0 failed)

Ahora ve a la segunda réplica directory2 y ver si los contenidos están sincronizados.

1.1. Ignorar archivos de sincronización

A veces, es posible que no desee sincronizar un archivo específico o un tipo específico de archivos. Si es así, puede definir qué archivos ignorar en el perfil como se muestra a continuación.

ignore=Name text.*
ignore=Name .*~
ignore=Name *.pdf

Para ver más perfiles de muestra, consulte aquí.

1.2. Sincroniza archivos y directorios locales con unison-gtk

Es posible que algunos de ustedes no se sientan cómodos con la línea de comandos. Afortunadamente, Unison tiene una interfaz gráfica simple que permite a los usuarios crear fácilmente perfiles y sincronizar archivos basados ​​en los perfiles a través de una ventana gráfica.

Asegúrate de haber instalado unison-gtk paquete como se muestra en la sección de instalación anterior. Inicie unison-gtk desde el menú o el iniciador de aplicaciones.

Verá la ventana de selección de perfil en el primer lanzamiento. Si ya ha creado un perfil como se describe, lo verá allí.

Desde la ventana de perfiles, puede crear un nuevo perfil con nuevos directorios raíz y las rutas para sincronizar. O simplemente puede editar el perfil existente y modificar los directorios raíz o agregar nuevos archivos o cambiar las rutas para sincronizar.

Si ya no necesita un perfil, selecciónelo y haga clic en Eliminar.

Voy a crear un nuevo perfil. Para hacerlo, haga clic en Agregar desde la ventana de selección de perfil y haga clic en Adelante .

Introduzca un nombre adecuado para su nuevo perfil con una pequeña descripción:

A continuación, elija el tipo de sincronización que desea realizar. Como se trata de una sincronización entre dos directorios locales, elegí "local" .

Seleccione los dos directorios raíz que desea sincronizar.

Seleccione la siguiente casilla de verificación si uno de sus directorios raíz está en una partición FAT. Este suele ser el caso de una memoria USB.

Finalmente, haga clic en Aplicar para crear el perfil.

El perfil recién creado ahora aparecerá en la ventana de selección de perfil. Selecciónelo y haga clic en Abrir.

El gráfico de Unison ahora le mostrará los cambios que se realizarán en ambos lados. Al igual que la interfaz de línea de comandos de Unison, la acción predeterminada también se indica mediante una flecha en la interfaz gráfica. Como puede ver en la siguiente captura de pantalla, los archivos se propagan de izquierda a derecha, es decir, de la primera réplica a la segunda réplica. Si el contenido de las réplicas no es idéntico, Unison le pedirá instrucciones sobre qué réplica debe anular a la otra.

Si está satisfecho con las instrucciones para la propagación de cambios, haga clic en Ir en la barra de herramientas o seleccione Sincronización -> Ir desde la barra de menú.

Una vez que la sincronización se complete con éxito, verá las marcas de verificación en la sección Estado.

2. Sincronice archivos y directorios almacenados en diferentes discos en la misma máquina

Los archivos de sincronización entre dos discos son exactamente iguales a los anteriores. Solo asegúrese de haber mencionado la ruta correcta del directorio raíz en la unidad externa.

Ahora sabe cómo sincronizar archivos entre dos directorios en el mismo disco duro y en un disco diferente en un sistema local. La siguiente sección explica cómo sincronizar archivos entre dos sistemas diferentes.

3. Sincroniza archivos y directorios entre máquinas locales y remotas

Como se indicó anteriormente, Unison puede sincronizar archivos entre sistemas locales y remotos a través de una conexión de socket directa y mediante una conexión SSH cifrada. Como ya sabes, SSH es mucho mejor y más seguro que el método de socket. A los efectos de esta guía, usaré el método SSH para sincronizar archivos.

Asegúrese de haber instalado openSSH y Unison en ambos sistemas . También asegúrese de que ambos sistemas puedan comunicarse a través de SSH. Tenga en cuenta que sus sistemas locales y remotos deben tener la misma versión de Unison .

Para verificar la versión de Unison, ejecute el siguiente comando en su sistema local y remoto:

$ unison -version
unison version 2.48.4

Dado que los archivos se sincronizarán a través de SSH, no importa si el sistema remoto tiene unison-gtk o no. ¡La interfaz de línea de comandos de Unison es suficiente en una máquina remota! En su máquina local, puede usar una interfaz de unísono textual o gráfica.

3.1. Sincronice archivos y directorios entre máquinas locales y remotas desde la línea de comandos

Ahora vamos a sincronizar el directory1 desde nuestro sistema local al directory1 en un sistema remoto usando unísono ejecutando el siguiente comando:

$ unison directory1/ ssh://[email protected]/directory1/

Aquí, [email protected] es el nombre de usuario y la dirección IP de mi sistema remoto.

Se le pedirá que ingrese la contraseña de su usuario remoto. Luego presione ENTER para aceptar sincronizar el contenido de directory1 de máquina local con directory 1 de máquina remota. Luego presiona f tecla para confirmar las rutas a sincronizar. Finalmente presione y y presiona ENTER clave para continuar con la propagación de actualizaciones.

Contacting server...
[email protected]'s password: 
Connected [//ostechnix//home/sk/directory1 -> //ubuntuserver//home/ostechnix/directory1]
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
	/home/sk/directory1
	//ubuntuserver//home/ostechnix/directory1
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.[<spc>]   Waiting for changes from server
Reconciling changes

local          ubuntuserver       
file     ---->            file1  [f] f
file     ---->            file2  [f] f

Proceed with propagating updates? [] y
Propagating updates


UNISON 2.48.4 started propagating changes at 14:49:18.44 on 03 Oct 2020
[BGN] Copying file1 from /home/sk/directory1 to //ubuntuserver//home/ostechnix/directory1
[BGN] Copying file2 from /home/sk/directory1 to //ubuntuserver//home/ostechnix/directory1
[END] Copying file1
[END] Copying file2
UNISON 2.48.4 finished propagating changes at 14:49:18.45 on 03 Oct 2020


Saving synchronizer state
Synchronization complete at 14:49:18  (2 items transferred, 0 skipped, 0 failed)

El comando anterior replicará el contenido de directory1 del sistema local al directory1 en el sistema remoto. Ahora agregue un nuevo archivo o actualice un archivo existente e intente sincronizar nuevamente. Debería ver resultados similares en ambos lados.

Si desea sincronizar el contenido con otro lugar que no sea el directorio principal del sistema remoto, debe especificar la ruta absoluta del directorio remoto agregando una barra inclinada adicional entre el nombre de host remoto y el comienzo de la ruta como a continuación:

$ unison directory1/ ssh://[email protected]//sync/the/files/here/

Si no desea sincronizar todo el directorio, simplemente cree un perfil personalizado y defina las rutas para sincronizar como se describe en la sección titulada 1.1. Perfiles al unísono arriba.

3.2. Sincronice archivos y directorios entre máquinas locales y remotas usando unison-gtk

Inicie la aplicación Unison-gtk desde el menú o lanzador. Haz clic en Agregar en la ventana de selección de perfil para crear un nuevo perfil.

Haga clic en Adelante.

Ingrese el nombre del perfil de Unison y su descripción y haga clic en Adelante.

Aquí está el paso importante. Elija "ssh" del cuadro desplegable Tipo de sincronización. Ingrese la dirección IP o el nombre de host del sistema remoto y el nombre de usuario remoto. También marque la casilla "Habilitar compresión" para mejorar el rendimiento de la transferencia de datos.

Elija las ubicaciones de los directorios locales y remotos que desea sincronizar.

Si uno de sus directorios está en partición FAT, debe marcar esta opción. Este suele ser el caso de las unidades USB.

Haga clic en Aplicar para completar la creación del perfil.

El perfil recién creado ahora aparecerá en la ventana de selección de perfil. Seleccione el perfil y haga clic en Abrir.

Se le pedirá que ingrese su contraseña de usuario remoto. Introduzca la contraseña y haga clic en Aceptar.

Después de ingresar la contraseña, Unison enumerará los cambios que se propagarán de local a remoto. La acción predeterminada se indica con una flecha. Si no desea la acción predeterminada, presione "de izquierda a derecha" o "de derecha a izquierda" opciones en la barra de menú para indicar qué réplica debe anular a la otra. Finalmente, haga clic en Ir para replicar.

Unison ahora replicará todo el contenido del directorio local con el directorio remoto. Una vez completada la sincronización, verá la marca de verificación en la sección Estado.

Puede verificar el contenido de archivos y directorios en ambas ubicaciones.

El método anterior sincronizará todo el contenido de la réplica local con la réplica remota. Si desea sincronizar archivos o directorios específicos, cree un perfil personalizado y defina las rutas para sincronizar como se describe en la sección titulada 1.1. Perfiles al unísono arriba.

3.3. Configurar la autenticación basada en clave SSH (opcional)

Cada vez que sincroniza archivos entre dos sistemas diferentes a través de SSH, debe ingresar la contraseña del usuario remoto. Si no desea ingresar la contraseña cada vez, puede configurar la autenticación SSH sin contraseña como se describe en el siguiente enlace. No genere un par de claves SSH con frase de contraseña. De lo contrario, deberá ingresar la contraseña al sincronizar archivos entre sistemas.

  • Cómo configurar la autenticación basada en clave SSH en Linux

3.4. Configurar trabajo cron (Opcional)

Podemos sincronizar archivos automáticamente en un intervalo de tiempo específico usando trabajos cron.

Por ejemplo, agregue la siguiente entrada en su crontab archivo para ejecutar la sincronización todos los días (Se ejecutará a las 00:00):

0 0 * * * unison directory1/ ssh://[email protected]//home/ostechnix/directory1/

Para obtener más detalles sobre la configuración de trabajos cron, consulte la siguiente guía:

  • Una guía para principiantes sobre los trabajos de Cron

Obtener ayuda

Cubrí solo lo básico. Esto es suficiente para configurar una sincronización de trabajo en su sistema Linux. Si desea conocer un uso más avanzado, consulte la sección de ayuda de Unison.

Para mostrar la página de documentación local, ejecute:

$ unison -doc topics

Verá la lista de temas disponibles en la documentación local.

Documentation topics:
          about About Unison
         people People
          lists Mailing Lists and Bug Reporting
         status Development Status
        copying Copying
            ack Acknowledgements
        install Installation
       tutorial Tutorial
         basics Basic Concepts
       failures Invariants
        running Running Unison
            ssh Installing Ssh
           news Changes in Version 2.48.4

Type "unison -doc <topic>" for detailed information about <topic>
or "unison -doc all" for the whole manual

Para ver la información detallada sobre un tema, por ejemplo tutorial de Unison , ejecuta:

$ unison -doc tutorial

También puede visualizar todo el manual de Unison usando el siguiente comando:

$ unison -doc all

También he adjuntado los enlaces oficiales de Unison al final de esta guía. Revise la documentación y familiarícese con el funcionamiento de Unison. Una vez que haya aprendido lo suficiente, intente configurar la sincronización local y/o remota con Unison en producción.

Conclusión

Unison le permite mantener de manera fácil y eficiente dos o más sistemas completamente sincronizados entre sí sin importar lo que cambie en cualquiera de los sistemas. Si desea mantener dos instancias de una colección de archivos y directorios en dos sistemas actualizados e idénticos, ¡Unison es una buena opción!


Linux
  1. Cómo instalar Python en Linux

  2. Cómo instalar Java en Linux

  3. Cómo cifrar archivos con gocryptfs en Linux

  4. Cómo encontrar archivos con el comando fd en Linux

  5. Cómo instalar archivos .deb en Ubuntu Linux

Cómo configurar un cortafuegos con UFW en Linux

Cómo instalar Rclone en Linux y Unix

Cómo eliminar archivos con extensión específica en Linux

Cómo encontrar archivos con el comando fd en Linux

Cómo descargar archivos con el comando Curl en Linux

Cómo descargar archivos con el comando Wget en Linux