Por que não é possível usar dois controles remotos para o rsync? [fechadas]

30

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 intransponí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, contendo hashes e dados.

EDITAR

Como as pessoas estão fazendo algumas sugestões tangenciais, eu publiquei uma pergunta separada detalhando meu caso de uso específico. Estes são dois separados, realmente, e eu acho que valeria a pena conhecer esses detalhes para o rsync

    
por goncalopp 17.11.2012 / 15:09

3 respostas

6

por que não tentar conectar-se à máquina remota e iniciar o transferir de lá. Se você estiver usando ssh-keys, você pode usar o agente passe embora para gerenciar o autenticado para você.

ssh -A remotehostA rsync /remote/file/on/host/a remoteHostB:/destination/

Este comando irá registrá-lo no remoteHostA e executar o rsync a partir dali.

    
por 17.11.2012 / 16:27
4
scp -3r <remote src> <remote dest>

não tem problemas para fazer isso.

    
por 17.11.2012 / 15:16
1

Você pode contornar isso montando um (ou ambos) dos sistemas de arquivos remotos com sshfs . Então, o rsync irá tratá-lo como se fosse local.

Infelizmente, isso resultará em muito uso de largura de banda na máquina cujo sistema de arquivos está montado com sshfs , portanto, eu recomendaria fazer isso apenas com a máquina que possui muita largura de banda entre você e a terceira máquina. / p>

Naturalmente, a solução ideal é que as máquinas falem diretamente umas com as outras. Eu não consigo pensar em nenhuma razão porque eles não deveriam.

    
por 18.11.2012 / 02:32