소스와 대상이 모두 원격 인 경우 rsync는 다음과 같이 불평합니다.
The source and destination cannot both be remote.
rsync error: syntax or usage error (code 1) at main.c(1156) [Receiver=3.0.7]
rsync가이를 수행하는 데 극복 할 수없는 기술적 장애물이 있습니까? 아니면 아직 구현되지 않은 경우입니까? 해시와 데이터를 모두 보유하면서 두 리모트 간의 전송을 중재하는 로컬 버퍼를 메모리에 작성하는 것이 비교적 쉬운 것 같습니다.
편집하다
사람들이 탄젠트 제안을하고 있기 때문에 특정 사용 사례를 자세히 설명 하는 별도의 질문을 게시했습니다 . 이들은 두 가지로 분리되어 있으며 rsync에 대한 이러한 특정 세부 정보를 아는 것이 좋습니다.
답변
원격 컴퓨터에 연결하여 연결을 시작하십시오. ssh 키를 사용하는 경우 에이전트 패스를 사용하여 인증을 관리 할 수 있습니다.
ssh -A remotehostA rsync /remote/file/on/host/a remoteHostB:/destination/
이 명령은 remoteHostA에 로그온하여 거기서 rsync를 실행합니다.
답변
scp -3r <remote src> <remote dest>
이 작업을 수행하는 데 문제가 없습니다.
답변
로 원격 파일 시스템 중 하나 (또는 둘 다)를 마운트하여이 문제를 해결할 수 있습니다 sshfs
. 그러면 rsync는 로컬 인 것처럼 처리합니다.
불행히도 이로 인해 파일 시스템이 마운트 된 머신에서 많은 대역폭을 사용하게 sshfs
되므로 사용자와 세 번째 머신 사이에 대역폭이 많은 머신에서만이 작업을 수행하는 것이 좋습니다.
물론 이상적인 해결책은 기계가 서로 직접 대화하는 것입니다. 나는 그들이 왜 안되는 좋은 이유를 생각할 수 없습니다.