1. Instalación de Lsyncd

En primer lugar, instala Lsyncd en el servidor principal donde deseas configurar la sincronización.

Para sistemas basados en Debian/Ubuntu:

sudo apt-get update
sudo apt-get install lsyncd

Para sistemas basados en Red Hat/CentOS:

sudo yum install epel-release
sudo yum install lsyncd

2. Generación de la clave pública SSH

Genera un par de claves SSH (clave pública y privada) en el servidor principal (Servidor A).

ssh-keygen -t rsa -b 4096

Sigue las instrucciones y guarda las claves en el directorio predeterminado (~/.ssh/id_rsa para la clave privada y ~/.ssh/id_rsa.pub para la clave pública).

3. Copiar la clave pública al servidor remoto

Copia la clave pública generada al servidor de destino (Servidor B) usando el siguiente comando:

ssh-copy-id usuario@servidor_remoto

Este comando añadirá la clave pública al archivo ~/.ssh/authorized_keys en el servidor remoto, permitiendo la autenticación sin contraseña.

4. Verificar la conexión SSH sin contraseña

Verifica que puedas conectarte al servidor remoto sin necesidad de introducir la contraseña:

ssh usuario@servidor_remoto

Si la conexión se realiza sin pedir la contraseña, la configuración de la clave pública está funcionando correctamente.

5. Configuración del archivo de Lsyncd

Edita o crea el archivo de configuración de Lsyncd, normalmente ubicado en /etc/lsyncd/lsyncd.conf.lua.

Ejemplo de configuración:

settings {

logfile = «/var/log/lsyncd/lsyncd.log»,
statusFile = «/var/log/lsyncd/lsyncd-status.log»,
nodaemon = false,
}

sync {
default.rsyncssh,
source = «/ruta/a/sincronizar/»,
host = «usuario@servidor_remoto»,
targetdir = «/ruta/remota/destino/»,
rsyncOpts = {«-avz»},
ssh = {
port = 22,
identityFile = «/home/tu_usuario/.ssh/id_rsa»
}
}

6. Iniciar Lsyncd

Inicia Lsyncd para comenzar la sincronización:

sudo lsyncd /etc/lsyncd/lsyncd.conf.lua

Para asegurarte de que Lsyncd se inicie automáticamente al arrancar el servidor, puedes habilitarlo como un servicio de sistema.

7. Monitoreo y Logs

Revisa los logs de Lsyncd para monitorear su actividad y asegurarte de que la sincronización se realiza correctamente:

tail -f /var/log/lsyncd/lsyncd.log