Após o comentário do @ Kusalananda, eu finalmente passei algumas horas testando Syncthing para este caso de uso e ele funciona muito bem. Ele detecta automaticamente as alterações em ambos os lados e a replicação é muito rápida.
Exemplo: imagine que você está trabalhando localmente em server.py
em seu software de bloco de notas favorito, você clicou em CTRL + S (Salvar). Alguns segundos depois, ele é automaticamente replicado no servidor distante (sem qualquer diálogo pop-up).
Uma coisa importante que eu notei é que você não precisa pensar no IP do computador doméstico e servidor com o Syncthing: cada "dispositivo" (computador, servidor, telefone, etc.) tem um DeviceID exclusivo e se você compartilhar o ID com outro dispositivo, ele descobrirá automaticamente como eles devem se conectar uns aos outros.
Para fazer:
-
Lado do computador em casa (Windows ou Linux):
Use a ferramenta normal de configuração do navegador Syncthing
-
Lado do VPS:
Primeiro, conecte o VPS com um encaminhamento de porta:
ssh <user>@<VPS_IP> -L 8385:localhost:8384
A última opção irá redirecionar a ferramenta de configuração da web Syncthing do VPS, escutando na porta 8384 para a porta 8385 do computador doméstico.
Em seguida, execute isso no 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 &
Em seguida, no navegador do computador doméstico, abra o link : essa será a configuração do Syncthing do VPS!
Outra solução que tentei:
-
SSHFS usando este tutorial . Por favor, note que neste tutorial eles não usam sshfs-win mas win-sshfs em vez disso (estes são dois projetos diferentes). Eu tentei os dois e não consegui fazer nenhum deles funcionar (provavelmente um problema com a configuração do VPS).
-
Esta é também uma referência interessante: link
Vantagens adicionais do Syncthing que acabei de notar:
-
você pode reduzir
fsWatcherDelayS
noconfig.xml
de10
para2
segundos para que depois de fazer CTRL + S, 2 segundos depois (+ o tempo para fazer upload, ou seja, menos de 1 segundo para um pequeno arquivo de texto) está no outro computador -
Se você sincronizar dois computadores que estão na mesma rede local (apenas fornecendo o DeviceID uns aos outros, sem precisar se preocupar com endereços IP locais), ele notará automaticamente não precisa transitar pela internet, mas pode lidar localmente. Isso é ótimo e permite uma transferência de velocidade muito rápida (4 MB / s!) De
phone <--> computer
conectada ao mesmo roteador doméstico via WiFi ... ... enquanto ela estaria presa a 100 KB / s em ADSL com uma sincronização do Dropbox! (meu ADSL está limitado a 100 KB / s no upload)