Para sincronizar archivos en tiempo real entre dos servidores, hay varias soluciones que puedes considerar:

  1. rsync con inotifywait:
    Utiliza rsync en combinación con inotifywait. inotifywait monitorea los cambios en el sistema de archivos en el servidor A y, cada vez que detecta un cambio, rsync se encarga de sincronizar los archivos con el servidor B. Este método es muy eficiente para sincronización casi en tiempo real.Ejemplo de script:

    #!/bin/bash
    SRC="/ruta/a/sincronizar"
    DEST="usuario@servidorB:/ruta/destino"
    inotifywait -m -r -e modify,create,delete $SRC | while read path action file; do
    rsync -avz $SRC $DEST
    done
  2. Lsyncd:
    Lsyncd (Live Syncing Daemon) es una herramienta más avanzada que utiliza rsync para la sincronización y inotify para monitorear los cambios en tiempo real. Es fácil de configurar y se ejecuta como un demonio en segundo plano.
  3. lftp:
    Aunque lftp no es específicamente una herramienta de sincronización en tiempo real, puedes usarlo para sincronizaciones frecuentes utilizando su comando mirror con la opción --continue para sincronizar los directorios entre los servidores A y B. Sin embargo, esta no es una solución en tiempo real, sino que requiere programar ejecuciones periódicas.Ejemplo de uso de lftp:

    lftp -e "mirror --reverse --delete --continue --verbose /directorio/local /directorio/remoto; bye" -u usuario,contraseña servidorB

    Nota: Aunque lftp puede ser útil, no proporciona sincronización en tiempo real. Para eso, rsync con inotifywait o Lsyncd son mejores opciones.