Yo tengo:
un servidor Linux que conecto a través de SSH en el puerto IP 203.0.113.0 1234
una computadora doméstica (detrás de un enrutador), IP pública 198.51.100.17, que es Debian o Windows + Cygwin
¿Cuál es la forma más fácil de /home/inprogress/
sincronizar una carpeta (en ambas direcciones), un poco rsync
, pero con un observador del sistema de archivos , de modo que cada vez que se modifica un archivo, se replica inmediatamente en el otro lado? (es decir, no es necesario llamar manualmente a un programa de sincronización)
Estoy buscando una solución de línea de comandos / sin GUI, ya que el servidor no tiene cabeza.
¿Existe una solución integrada para Linux / Debian?
syncthing
.lsync
, pero no sé si funciona útilmente para la sincronización bidireccional.Respuestas:
Siguiendo el comentario de @ Kusalananda, finalmente pasé unas horas probando Syncthing para este caso de uso y funciona muy bien. Detecta automáticamente los cambios en ambos lados y la replicación es muy rápida.
Ejemplo: imagina que estás trabajando localmente
server.py
en tu software de Bloc de notas favorito, presionas CTRL + S (Guardar). Unos segundos después, se replica automáticamente en el servidor distante (sin ningún cuadro de diálogo emergente).Una gran cosa que he notado es que no tiene que pensar en la IP de la computadora y el servidor con Syncthing: cada "dispositivo" (computadora, servidor, teléfono, etc.) tiene un DeviceID único y si comparte la identificación con otro dispositivo, descubrirá automáticamente cómo deben conectarse entre sí.
Que hacer:
Lado del equipo doméstico (Windows o Linux):
Use la herramienta de configuración normal del navegador Syncthing
Lado VPS:
Primero conecte el VPS con un reenvío de puertos:
La última opción redirigirá la herramienta de configuración web Syncthing del VPS que escucha en el puerto 8384 al puerto 8385 de la computadora doméstica.
Luego ejecute esto en VPS:
Luego, en el navegador de la computadora doméstica, abra http: // localhost: 8385 : ¡esta será la configuración de sincronización del VPS!
Otra solución que probé:
SSHFS usando este tutorial . Tenga en cuenta que en este tutorial no usan sshfs-win sino win-sshfs en su lugar (estos son dos proyectos diferentes). Intenté ambos, y no pude hacer que ninguno de ellos funcionara (probablemente un problema con mi configuración de VPS).
Aquí también hay una referencia interesante: /softwarerecs/13875/windows-sshfs-sftp-mounting-clients
Ventajas adicionales de la sincronización que acabo de notar:
se puede reducir
fsWatcherDelayS
en elconfig.xml
de10
a2
segundos de modo que después de hacer CTRL + S, 2 segundos después (+ el tiempo de carga, es decir, menos de 1 segundo para un pequeño archivo de texto) es en el otro equipoSi sincroniza dos computadoras que están en la misma red local (simplemente entregándose el DeviceID entre sí, no es necesario preocuparse por las direcciones IP locales), automáticamente notará que no necesita transitar por Internet, pero puede tratar localmente. Esto es genial y permite una sincronización de transferencia de velocidad muy rápida (¡4 MB / s!) De
phone <--> computer
ambos conectados al mismo enrutador doméstico a través de WiFi ... ... mientras que se atascaría a 100 KB / s en ADSL con una sincronización de Dropbox ! (mi ADSL está limitado a 100 KB / s en la carga)fuente
Parece que Unison debería hacer el trabajo.
Tiene una GUI opcional que puede hacer que la resolución de conflictos sea algo más fácil, pero también se puede hacer todo usando una interfaz de usuario basada en texto. También puede predefinir cómo resolver conflictos para una operación totalmente desatendida.
Hay un componente observador de archivos (fsmonitor) para activar una sincronización cuando sea necesario. Busque "repetir reloj" en el manual para más detalles.
Parece que Debian tiene la versión correcta (2.48+) empaquetada de fábrica .
fuente