Cómo sincronizar directorios usando Lsyncd en Linux

En este artículo, explicaré cómo instalar Lsyncd (Live Syncing Mirror Daemon) en sistemas Linux y cómo sincronizar directorios locales y remotos en Linux. Lsyncd es una solución de espejo en vivo liviana que es comparativamente fácil de instalar sin obstaculizar el rendimiento del sistema de archivos local existente.

Es muy útil realizar un seguimiento de cualquier modificación de datos y sincronizar aquellos datos entre los directorios que se actualizan con frecuencia con nuevos contenidos. De forma predeterminada, es solo rsync.

Todos los archivos de configuración personalizados están escritos en lenguaje Lua, de esta manera se puede obtener una configuración potente, flexible y sencilla. Lsyncd 2.2.1 requiere rsync 3.1 en todas las máquinas de origen y destino.

Instale Lsyncd en RHEL / CentOS 7

Para habilitar lsyncd en un sistema CentOS 7.5, necesitaremos habilitar el repositorio EPEL. Simplemente puede ejecutar este comando para instalarlo.

#yum install epel-release
#yum install lsyncd

Puede confirmar la versión instalada ejecutando este comando:

# lsyncd -version
Version: 2.2.2

Configuración de Lsyncd

El archivo de configuración de Lsyncd se crea automáticamente en /etc/lsyncd.conf en un sistema RHEL / CentOS 7.5. De forma predeterminada, su contenido tiene el siguiente aspecto:

# cat /etc/lsyncd.conf
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
-- For more examples, see /usr/share/doc/lsyncd*/examples/

Necesitamos modificar este archivo de configuración según nuestro propósito. Como se menciona en este archivo de configuración, todos example Los scripts están disponibles en la siguiente ubicación: /usr/share/doc/lsyncd-2.2.2/examples/

# cd /usr/share/doc/lsyncd-2.2.2/examples/
[root@li1050-94 examples]# ll
total 40
-rw-r--r--. 1 root root 715 Feb 16 2017 lalarm.lua
-rw-r--r--. 1 root root 1055 Feb 16 2017 lbash.lua
-rw-r--r--. 1 root root 534 Feb 16 2017 lecho.lua
-rw-r--r--. 1 root root 3376 Feb 16 2017 lftp.lua
-rw-r--r--. 1 root root 2278 Feb 16 2017 lgforce.lua
-rw-r--r--. 1 root root 2737 Feb 16 2017 limagemagic.lua
-rw-r--r--. 1 root root 2770 Feb 16 2017 lpostcmd.lua
-rw-r--r--. 1 root root 211 Feb 16 2017 lrsync.lua
-rw-r--r--. 1 root root 204 Feb 16 2017 lrsyncssh.lua
-rw-r--r--. 1 root root 4047 Feb 16 2017 lsayirc.lua

Todos estos archivos son lsyncd example Archivos de configuración. De estos archivos, estamos explicando más sobre el uso de estos archivos, a saber, lrsync.lua y lrsyncssh.lua aquí. Vamos a ver esos example archivos de configuración a continuación:

Configuración de muestra para sincronización local:

# cat /usr/share/doc/lsyncd-2.2.2/examples/lrsync.lua
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync.
--
settings {
statusFile = "/tmp/lsyncd.stat",
statusInterval = 1,
}

sync{
default.rsync,
source="src",
target="trg",
}

Configuración de muestra para sincronización remota:

# cat /usr/share/doc/lsyncd-2.2.2/examples/lrsyncssh.lua
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
sync{default.rsyncssh, source="src", host="localhost", targetdir="dst/"}

Para retener este proceso de sincronización en lugar de ejecutar un trabajo cron cada X minutos, lsyncd usa ganchos del kernel de Linux para recibir notificaciones cuando se cambia cualquier archivo dentro de un directorio. De forma predeterminada, pone en cola cualquier comando de sincronización en 20 segundos. Incluso podemos modificar este intervalo de tiempo según sea necesario con el --delay opción junto con su comando de sincronización.

sync {
default.rsyncssh,
source = "SRC",
target = "DEST",
delete = "running", -- prevents deletion of files on startup (ie when a server comes back online, don't delete files that are new on the backup)
delay = 5, -- run every 5 seconds instead of default 20
}

Durante el uso de default.rsyncssh comando de sincronización siempre se recomienda usar --delete opción para evitar la pérdida de archivos de las carpetas de destino. Después de crear o modificar el archivo de configuración lsyncd, debe reiniciar el proceso lsyncd.

Dado que Lsyncd usa la herramienta rsync para copiar, mover y eliminar archivos desde el origen al destino. Podemos hacer uso de los conmutadores rsync para evitar hacer duplicados innecesarios en el destino y suavizar este proceso. Algunas de las opciones importantes de rsync se explican a continuación:

--delete: Esta opción garantiza que se eliminen todos los archivos del directorio remoto que no estén en el directorio de origen.
--times: Esta opción es bastante importante si va a ejecutar este script una y otra vez, ya que mantendrá sincronizados los tiempos entre los dos archivos.
--force: Esta opción permite eliminar un directorio que no esté vacío para ser reemplazado por un directorio vacío.
--links: Esta opción se utiliza para copiar enlaces simbólicos como enlaces simbólicos.
--progress2: Da como resultado mostrar el progreso general de toda la transferencia, no solo del archivo único que se está copiando.
--dry-run: Esta opción realiza una prueba sin realizar eliminaciones o transferencias, pero le dice lo que hará. Recomiendo encarecidamente usar esta opción la primera vez que ejecute cualquier comando rsync después de escribirlo.
--owner: asegura que se mantenga el usuario propietario del archivo (no el nivel de permiso para el propietario).
--group: asegura que se mantenga el usuario de grupo del archivo (no el nivel de permiso para el grupo).
--perms: preservar los permisos.
--sparse: asegura que los archivos de imágenes dispersos se transfieran de manera eficiente.

Sincronizar directorios locales

Ahora veamos cómo sincronizar dos carpetas locales usando lsyncd. Podemos crear una carpeta de origen a saber SRC_DIR y una carpeta de destino a saber DEST_DIR para explicar este proceso más vívidamente. Creemos las carpetas y agreguemos algunos archivos al directorio de origen para realizar la sincronización.

# mkdir SRC_DIR *// Create source directory //*
# mkdir DEST_DIR *// Create target directory //*
# cd SRC_DIR/ *// Move to the source folder and create some random files //*
# touch file{1..10}
~/SRC_DIR# ll *// List out the Source folder contents //*
total 8
drwxr-xr-x 2 root root 4096 Aug 2 07:45 ./
drwx------ 7 root root 4096 Aug 2 07:46 ../
-rw-r--r-- 1 root root 0 Aug 2 07:45 file1
-rw-r--r-- 1 root root 0 Aug 2 07:45 file10
-rw-r--r-- 1 root root 0 Aug 2 07:45 file2
-rw-r--r-- 1 root root 0 Aug 2 07:45 file3
-rw-r--r-- 1 root root 0 Aug 2 07:45 file4
-rw-r--r-- 1 root root 0 Aug 2 07:45 file5
-rw-r--r-- 1 root root 0 Aug 2 07:45 file6
-rw-r--r-- 1 root root 0 Aug 2 07:45 file7
-rw-r--r-- 1 root root 0 Aug 2 07:45 file8
-rw-r--r-- 1 root root 0 Aug 2 07:45 file9

A continuación, puede crear los archivos de registro y los archivos de estado de lsyncd para realizar un seguimiento del proceso. Estos pasos son opcionales. Pero recomendaría mantener archivos de registro para todas nuestras tareas.

# mkdir /var/log/lsyncd
# touch /var/log/lsyncd/lsyncd.{log,status}

Ahora necesitamos modificar nuestro archivo de configuración lsyncd para realizar este rsync local. Como comentamos antes, el archivo de configuración lsyncd predeterminado para un sistema CentOS es/etc/lsyncd.conf. Necesitamos actualizar estos archivos de configuración con nuestros directorios de origen y destino y nuestros archivos de registro.

# cat /etc/lsyncd.conf
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
-- For more examples, see /usr/share/doc/lsyncd*/examples/
--
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status"
}

sync {
default.rsync,
source = "/root/SRC_DIR",
target = "/root/DEST_DIR",
}

Puede reemplazar la ruta de los directorios de origen y destino con sus propios valores. Save y close el archivo de configuración. Una vez hecho esto, reinicie y habilite el servicio lsyncd.

# systemctl enable lsyncd
lsyncd.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable lsyncd
# systemctl start lsyncd

Ahora compare el contenido de los directorios de origen y de destino para confirmar su funcionamiento.

SRC_DIR]# ll
total 0
-rw-r--r--. 1 root root 0 Aug 2 13:51 file1
-rw-r--r--. 1 root root 0 Aug 2 13:51 file10
-rw-r--r--. 1 root root 0 Aug 2 13:51 file2
-rw-r--r--. 1 root root 0 Aug 2 13:51 file3
-rw-r--r--. 1 root root 0 Aug 2 13:51 file4
-rw-r--r--. 1 root root 0 Aug 2 13:51 file5
-rw-r--r--. 1 root root 0 Aug 2 13:51 file6
-rw-r--r--. 1 root root 0 Aug 2 13:51 file7
-rw-r--r--. 1 root root 0 Aug 2 13:51 file8
-rw-r--r--. 1 root root 0 Aug 2 13:51 file9

DEST_DIR]# ll
total 0
-rw-r--r--. 1 root root 0 Aug 2 13:51 file1
-rw-r--r--. 1 root root 0 Aug 2 13:51 file10
-rw-r--r--. 1 root root 0 Aug 2 13:51 file2
-rw-r--r--. 1 root root 0 Aug 2 13:51 file3
-rw-r--r--. 1 root root 0 Aug 2 13:51 file4
-rw-r--r--. 1 root root 0 Aug 2 13:51 file5
-rw-r--r--. 1 root root 0 Aug 2 13:51 file6
-rw-r--r--. 1 root root 0 Aug 2 13:51 file7
-rw-r--r--. 1 root root 0 Aug 2 13:51 file8
-rw-r--r--. 1 root root 0 Aug 2 13:51 file9

¡Viva! El contenido del directorio de origen SRC_DIR se ha sincronizado correctamente con el directorio de destino.

Además, puede revisar los archivos de registro y estado para verificar el estado de la replicación y confirmar si se completó o no.

# tail -10 /var/log/lsyncd/lsyncd.log
Thu Aug 2 14:03:16 2018 Normal: --- Startup ---
Thu Aug 2 14:03:16 2018 Normal: recursive startup rsync: /root/SRC_DIR/ -> /root/DEST_DIR/
Thu Aug 2 14:03:16 2018 Normal: Startup of /root/SRC_DIR/ -> /root/DEST_DIR/ finished.

# more /var/log/lsyncd/lsyncd.status
Lsyncd status report at Thu Aug 2 14:03:27 2018

Sync1 source=/root/SRC_DIR/
There are 0 delays
Excluding:
nothing.

Inotify watching 1 directories
1: /root/SRC_DIR/

Sincronizar varias carpetas locales

Para sincronizar varias carpetas con uno o más directorios de destino, necesitaremos actualizar el archivo de configuración con más instrucciones de comando de sincronización con nuestros directorios de origen y destino requeridos.

sync{ default.rsync, source="source1", target="target1" }
sync{ default.rsync, source=" "source2', target="target2" }

Para example, consulte mi archivo de configuración Lsyncd /etc/lsyncd.conf para sincronizar dos de mis carpetas, a saber, / root / SRC y / etc / nginx en un directorio de destino ubicado en / backup a continuación:

----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync.
--
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status"
}
sync{ default.rsync, source="/root/SRC", target="/backup/SRC" }
sync{ default.rsync, source="/etc/nginx", target="/backup/Nginx_bkup" }

Después de actualizar el archivo de configuración con los cambios necesarios, puede reiniciar el proceso lsyncd para iniciar el proceso rsync. Una vez hecho esto, puede verificar los archivos de registro para confirmar su estado.

# tail /var/log/lsyncd/lsyncd.log
Mon Aug 6 08:36:16 2018 Normal: recursive startup rsync: /root/SRC/ -> /backup/SRC/
Mon Aug 6 08:36:16 2018 Normal: recursive startup rsync: /etc/nginx/ -> /backup/Nginx_bkup/
Mon Aug 6 08:36:16 2018 Normal: Startup of "/root/SRC/" finished.
Mon Aug 6 08:36:16 2018 Normal: Startup of "/etc/nginx/" finished.

De manera similar, puede utilizar estas instrucciones de comando de sincronización “default-rsync” varias veces cuando desee sincronizar los mismos directorios de origen con varios destinos o varios directorios de origen con el mismo directorio de destino.

Sincronizar con directorios remotos

Para iniciar la sincronización remota de directorios, necesitaremos configurar el inicio de sesión SSH sin contraseña. Esto ayudará a Lsyncd a replicar automáticamente el contenido del directorio local en un directorio remoto sin la intervención del usuario. Dado que estamos haciendo sincronización en dos servidores. podemos tomar un servidor de origen y un servidor de destino para explicar este proceso con mayor claridad. Consulte las direcciones IP del servidor SRC y DEST a continuación:

SRC_ SERVER IP : 45.33.113.94
DEST_SERVER IP: 45.33.121.82

Paso 1) Creación de claves SSH en el servidor de origen para inicio de sesión sin contraseña

Necesitamos crear una clave SSH para el servidor de origen y copiar la clave pública en el servidor de destino para mejorar la conexión SSH entre los servidores durante la sincronización de la cuenta. Puede generar las claves RSA usando el siguiente comando:

#ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:T+p4P/5WTw/JA7B/B+uonDNF6KvqDpSl2frl4i3Ma8Q root@li1050-94
The key's randomart image is:
+---[RSA 2048]----+
| |
| . |
| . + |
| * o o . |
| =.. S..o o + |
| . .E +. o O o|
| o+ o .o = *.|
| o**..=.o . o|
| =O*=+*B. |
+----[SHA256]-----+

Paso 2) Copiar las claves públicas al servidor de destino

Ahora copie las claves públicas en el servidor de destino para habilitar inicios de sesión sin contraseña.

# ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '45.33.121.82 (45.33.121.82)' can't be established.
ECDSA key fingerprint is SHA256:qI+CBEAw9MX+XfXQ1P0NmXVg0tBkWnmjeE0p1wWHzpM.
ECDSA key fingerprint is MD5:62:d9:cc:a5:8b:7a:ef:fd:5e:b8:be:a2:75:3a:0c:20.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

Number of key(s) added: 1

Aquí, 45.33.121.82 es la IP del servidor de destino. Ahora podremos conectarnos a nuestro servidor de destino remoto desde la fuente sin ninguna contraseña.

# ssh [email protected]

Paso 3) Crear un directorio de destino para la sincronización remota

Creemos un directorio de destino llamado Remote_Dir en el servidor de destino. Una vez hecho esto, puede cerrar la sesión del servidor de destino.

#mkdir Remote_Dir

Paso 4) Modifique el archivo de configuración de Lsyncd para habilitar la sincronización remota

Puede hacer una copia de seguridad del archivo de configuración lsyncd actual en /etc/lsyncd.conf y copie el archivo de configuración lsyncd de muestra para sincronización remota ubicado en /usr/share/doc/lsyncd-2.2.2/examples/lrsyncssh.lua al archivo de configuración principal de lsyncd /etc/lsyncd.conf. Una vez hecho esto, puede editar el directorio de origen, el host y el directorio de destino en consecuencia en el archivo de configuración. Consulte mi archivo de configuración lsyncd para la sincronización remota según mi configuración a continuación:

Copie la configuración de muestra para conservar su sintaxis adecuada.

# cp /usr/share/doc/lsyncd-2.2.2/examples/lrsyncssh.lua /etc/lsyncd.conf

Edite el archivo de configuración en consecuencia.

# cat /etc/lsyncd.conf
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status"
}
sync{default.rsyncssh, source="/root/SRC_DIR", host="45.33.121.82", targetdir="/root/Remote_Dir"}

Paso 5) Reinicie el servicio lsyncd en la fuente

Una vez que el archivo de configuración se haya editado y guardado correctamente, puede reiniciar el servicio lsyncd para que estos cambios sean efectivos. Ahora inicie sesión en el servidor remoto (DEST_SERVER) y confirme el contenido en el directorio Rsync remoto, a saber /root/Remote_Dir.

#ssh [email protected]
#cd /root/Remote_Dir
# ll
total 8
drwxr-xr-x 2 root root 4096 Aug 2 14:08 ./
drwx------ 9 root root 4096 Aug 5 06:52 ../
-rw-r--r-- 1 root root 0 Aug 2 13:51 file1
-rw-r--r-- 1 root root 0 Aug 2 13:51 file10
-rw-r--r-- 1 root root 0 Aug 2 13:51 file2
-rw-r--r-- 1 root root 0 Aug 2 13:51 file3
-rw-r--r-- 1 root root 0 Aug 2 13:51 file4
-rw-r--r-- 1 root root 0 Aug 2 13:51 file5
-rw-r--r-- 1 root root 0 Aug 2 13:51 file6
-rw-r--r-- 1 root root 0 Aug 2 13:51 file7
-rw-r--r-- 1 root root 0 Aug 2 13:51 file8
-rw-r--r-- 1 root root 0 Aug 2 13:51 file9

¡Hola! puede ver todos los archivos del directorio de origen en el sistema local para ser replicados en el directorio de destino en el servidor de destino. Incluso puede verificar la finalización exitosa del proceso rsync viendo los archivos de registro lsyncd en la fuente.

# tail /var/log/lsyncd/lsyncd.log
Dom 5 de agosto 07:04:42 2018 Normal: — Inicio —
Dom 5 de agosto 07:04:42 2018 Normal: inicio recursivo rsync: / root / SRC_DIR / -> 45.33.121.82:/root/Remote_Dir/
Dom 5 de agosto 07:04:43 2018 Normal: Inicio de “/ root / SRC_DIR /” finalizado: 0
Dom 5 de agosto 07:13:48 2018 Normal: lista Rsyncing
/
Dom 5 de agosto 07:13:49 2018 Normal: Terminado (lista): 0

Sincronice a través de múltiples servidores remotos

Anteriormente, describimos cómo sincronizar una carpeta en un servidor remoto. De manera similar, puede usar las instrucciones del comando default.rsyncssh varias veces para sincronizar las carpetas de origen requeridas en varias carpetas de destino remotas. Pero debemos asegurarnos de habilitar el inicio de sesión SSH sin contraseña para replicar el contenido de los directorios locales en varios directorios remotos sin la intervención del usuario.

sync{default.rsyncssh, source="source1", host="host1", targetdir="target1"}
sync{default.rsyncssh, source="source2", host="host2", targetdir="target2}

Explicaré este proceso con un simple example de transferir el /etc/nginx carpeta de mi servidor SRC a los servidores remotos DEST 1 y DEST 2.

El primer paso de este proceso será generar una clave RSA en mi servidor de origen y copiar sus claves públicas en mis servidores remotos DEST 1 y DEST 2 como se explicó anteriormente. Necesitamos repetir el mismo procedimiento del Paso 1 al Paso 3 para los dos servidores remotos DEST 1 y DEST 2 para asegurar un inicio de sesión SSH sin contraseña.

En segundo lugar, necesitamos modificar el archivo de configuración lsyncd con múltiples default.rsyncssh instrucciones de comando con las carpetas de origen, host y destino necesarias. Consulte mi archivo de configuración lsyncd para este proceso de sincronización a continuación:

# cat /etc/lsyncd.conf
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status"
}
sync{default.rsyncssh, source="/etc/nginx", host="45.33.121.82", targetdir="/backup/nginx"}
sync{default.rsyncssh, source="/etc/nginx", host="45.33.113.94", targetdir="/backup/nginx"}

Después de realizar estos cambios de configuración, puede reiniciar el servicio lsyncd para iniciar este proceso de sincronización. Una vez hecho esto, puede verificar los archivos de registro para confirmar su estado.

# tail /var/log/lsyncd/lsyncd.log
Mon Aug 6 09:15:55 2018 Normal: recursive startup rsync: /etc/nginx/ -> 45.33.121.182:/backup/nginx/
Mon Aug 6 09:15:55 2018 Normal: recursive startup rsync: /etc/nginx/ -> 45.33.113.194:/backup/nginx/
Mon Aug 6 09:15:56 2018 Normal: Startup of "/etc/nginx/" finished: 0
Mon Aug 6 09:15:56 2018 Normal: Startup of "/etc/nginx/" finished: 0

Instale Lsyncd en Debian / Ubuntu 18.04

En Debian y sus derivados como Ubuntu, Linux Mint, etc., puede instalar lsyncd usando el comando apt simple como se muestra a continuación:

#apt install lsyncd

Puede confirmar la versión de lsyncd instalada usando este comando:

# lsyncd -version
Version: 2.1.6

Configuración en Debian / Ubuntu

En los sistemas basados ​​en Ubuntu, no proporcionará ningún archivo de configuración lsyncd predeterminado. Se recomienda crear manualmente esos archivos de configuración según nuestro propósito. Podemos obtener archivos de configuración de muestra en la ubicación./usr/share/doc/lsyncd/examples/ Estas muestras example Los archivos de configuración nos brindan una idea básica de qué / cómo se realiza la sincronización.

:/usr/share/doc/lsyncd/examples# ll
total 48
drwxr-xr-x 2 root root 4096 Aug 2 07:34 ./
drwxr-xr-x 3 root root 4096 Aug 2 07:34 ../
-rw-r--r-- 1 root root 715 Oct 15 2015 lalarm.lua
-rw-r--r-- 1 root root 1057 Oct 15 2015 lbash.lua
-rw-r--r-- 1 root root 534 Oct 15 2015 lecho.lua
-rw-r--r-- 1 root root 3376 Oct 15 2015 lftp.lua
-rw-r--r-- 1 root root 2278 Oct 15 2015 lgforce.lua
-rw-r--r-- 1 root root 2737 Oct 15 2015 limagemagic.lua
-rw-r--r-- 1 root root 2770 Oct 15 2015 lpostcmd.lua
-rw-r--r-- 1 root root 213 Oct 15 2015 lrsync.lua
-rw-r--r-- 1 root root 204 Oct 15 2015 lrsyncssh.lua
-rw-r--r-- 1 root root 4047 Oct 15 2015 lsayirc.lua

Todos estos archivos de configuración están escritos en lenguaje de programación Lua. Consulte la configuración de muestra de lsyncd para obtener un rsync local simple a continuación:

:/usr/share/doc/lsyncd/examples# cat lrsync.lua
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync.
--
settings = {
statusFile = "/tmp/lsyncd.stat",
statusInterval = 1,
}

sync{
default.rsync,
source="src",
target="trg",
}

Este procedimiento es exactamente el mismo en comparación con los sistemas CentOS descritos anteriormente. En primer lugar, necesitaremos configurar un inicio de sesión SSH sin contraseña que genere las claves RSA en el servidor de origen. Esto garantizará que Lsyncd replique automáticamente el contenido en un directorio remoto sin la intervención del usuario. Los puntos clave para recordar durante la sincronización remota al comparar la sincronización local es que tendremos que cambiar default.rsync a default.rsyncssh para habilitar rsync sobre ssh, y debemos reemplazar la variable “objetivo” con las variables “host” y “objetivo”. Además, necesitaremos mantener la ubicación del archivo de configuración como /etc/lsyncd/lsyncd.conf.lua en sistemas Ubuntu / Debian. El resto de los procedimientos de configuración de lsyncd son los mismos en todos los sistemas Linux.

Leer también:

  • Cómo instalar “espejo” para sincronización bidireccional y en tiempo real
  • 10 ejemplos de rsync de Linux para excluir archivos / directorios
  • 12 opciones de Linux Rsync en Linux explicadas
  • Shell Script para respaldar archivos / directorios usando rsync

¡Espero que este artículo te sea útil e informativo! Publique sus valiosos comentarios y sugerencias al respecto.