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:
ssh <user>@<VPS_IP> -L 8385:localhost:8384
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:
wget https://github.com/syncthing/syncthing/releases/download/v0.14.52/syncthing-linux-amd64-v0.14.52.tar.gz
tar xvfz syncthing-linux-amd64-v0.14.52.tar.gz
nohup syncthing-linux-amd64-v0.14.52/syncthing &
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é:
Ventajas adicionales de la sincronización que acabo de notar:
se puede reducir fsWatcherDelayS
en el config.xml
de 10
a 2
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 equipo
Si 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)
syncthing
.