1. Introducción a Lsyncd

Lsyncd (Live Syncing Daemon) es una herramienta que combina el monitoreo de sistemas de archivos mediante inotify con la capacidad de sincronización de archivos de rsync. Es ideal para sincronización casi en tiempo real entre servidores, especialmente cuando se requiere una solución simple y eficiente.

2. Instalación de Lsyncd

Para instalar Lsyncd en un sistema basado en Debian/Ubuntu, puedes usar el siguiente comando:

sudo apt-get update
sudo apt-get install lsyncd

En sistemas basados en Red Hat/CentOS, utiliza:

sudo yum install epel-release
sudo yum install lsyncd

3. Configuración básica de Lsyncd

Lsyncd se configura mediante un archivo de configuración en Lua. El archivo de configuración más común se encuentra en /etc/lsyncd/lsyncd.conf.lua.

Ejemplo de configuración básica:

settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd-status.log",
nodaemon = false,
}
sync {
default.rsyncssh,
source = «/ruta/local/a/sincronizar»,
host = «usuario@servidor_remoto»,
targetdir = «/ruta/remota/destino»,
rsyncOpts = {«-avz»},
ssh = {
port = 22,
password = «contraseña_del_usuario»
}
}

4. Explicación de los parámetros clave

  • logfile: Archivo donde se almacenan los logs de Lsyncd.
  • statusFile: Archivo donde se guarda el estado de la sincronización.
  • nodaemon: Si es false, Lsyncd se ejecuta en segundo plano.
  • source: Carpeta local que se va a sincronizar.
  • host: Usuario y dirección del servidor remoto.
  • targetdir: Directorio de destino en el servidor remoto.
  • rsyncOpts: Opciones pasadas a rsync para la sincronización.
  • ssh: Configuraciones de SSH, como el puerto y la contraseña.

5. Ejecución y monitoreo de Lsyncd

Para iniciar Lsyncd, simplemente ejecuta:

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

Puedes verificar que esté funcionando revisando el archivo de log especificado en la configuración (/var/log/lsyncd/lsyncd.log).

6. Uso avanzado

Si necesitas más configuraciones avanzadas, puedes agregar exclusiones, realizar acciones personalizadas antes o después de la sincronización, o manejar múltiples sincronizaciones simultáneamente en el archivo de configuración.

7. Consideraciones de seguridad

Es importante considerar la seguridad de la autenticación por contraseña. Para un entorno más seguro, se recomienda utilizar autenticación mediante claves SSH en lugar de contraseñas.

8. Conclusión

Lsyncd es una herramienta poderosa y flexible para la sincronización de archivos en tiempo real entre servidores. Con una configuración adecuada, puedes mantener tus servidores sincronizados de manera eficiente.