Quando a origem e o destino são remotos, o rsync reclama:
The source and destination cannot both be remote.
rsync error: syntax or usage error (code 1) at main.c(1156) [Receiver=3.0.7]
Existe um obstáculo técnico insuperável para fazer o rsync fazer isso? Ou é simplesmente um caso de ainda não implementado? Parece relativamente fácil criar um buffer local na memória que medeia a transferência entre dois controles remotos, mantendo hashes e dados.
EDITAR
Como as pessoas estão fazendo algumas sugestões tangenciais, publiquei uma pergunta separada detalhando meu caso de uso específico. Estes são dois separados, realmente, e acho que vale a pena conhecer esses detalhes específicos para o rsync
Respostas:
por que não tentar se conectar à máquina remota e iniciar a transferência a partir daí. Se você estiver usando ssh-keys, poderá usar o passe do agente para gerenciar a autenticação para você.
Este comando registrará você no remoteHostA e executará o rsync a partir daí.
fonte
não tem problemas para fazer isso.
fonte
Você pode contornar isso montando um (ou ambos) sistemas de arquivos remotos com
sshfs
. Então, o rsync o tratará como se fosse local.Infelizmente, isso resultará em muito uso de largura de banda na máquina cujo sistema de arquivos está montado
sshfs
; portanto, recomendo fazer isso apenas com a máquina que tem muita largura de banda entre você e a terceira máquina.Obviamente, a solução ideal é que as máquinas conversem diretamente entre si. Não consigo pensar em nenhuma boa razão para que não devam.
fonte