Eu preciso fazer uma cópia diária de uma grande árvore de arquivos pela Internet pública e fazer isso de maneira eficaz. Até onde eu sei, se eu usar o rsyncd na parte de recebimento, a sincronização será feita de maneira bastante eficaz, pois durante a comparação da árvore de arquivos, ambos os lados (remetente e receptor) podem verificar as árvores de arquivos existentes localmente. Dessa forma, suponho que sincronize com o rsyncd e tudo bem, mas o envio será em texto simples e preciso criptografá-lo, pois uso a Internet pública.
Pelo contrário, se eu executar a sincronização assim: rsync -a /localtree user@host:/remotetree/
tudo é feito pelo mesmo rsync (local), ele usa ssh para fazer login no sistema remoto, verificar seu sistema de arquivos e fazer a sincronização. Então recebo criptografia em todas as fases, mas a varredura remota da árvore não é tão eficaz.
Então, parece que rsyncd é para eficácia e rsync (sobre ssh) é para segurança? Tenho a opção de usar o rsyncd com segurança sem a necessidade de configurar uma VPN (explícita) entre hosts?
Por favor, aconselhe, já que a sincronização de arquivos parece ser muito usada e suponho que falte algo na parte de criptografia.
Sua suposição de que rsync sobre ssh (shell remoto) significará que seu rsync local fará todo o trabalho não está correta.
Ao usar um comando como
rsync -a /localtree user@host:/remotetree/
rsync para um sistema remoto por ssh, há duasrsync
instâncias em funcionamento: a local (iniciada por você) e uma remota (iniciada pelo shell remoto). Ambas as instâncias se comunicam por meio de pipes por meio do shell remoto.O processo é descrito aqui .
O que significa que, ao se conectar a um sistema remoto por
rsync
meio do ssh, a verificação de arquivos remotos é tratada pela instância do "servidor" rsync remoto (não deve ser confundida com o daemon rsyncd), portanto, é tão eficaz quanto a verificação local.