Когда и источник, и пункт назначения удалены, 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-ключи, вы можете использовать Agent Pass для управления аутентификацией за вас.
Эта команда зарегистрирует вас на remoteHostA и оттуда запустит rsync.
источник
не имеет проблем с этим.
источник
Вы можете обойти это, смонтировав одну (или обе) из удаленных файловых систем
sshfs
. Затем rsync будет рассматривать его как локальный.К сожалению, это приведет к значительному использованию полосы пропускания на машине, на которой смонтирована файловая система
sshfs
, поэтому я рекомендую делать это только на той машине, у которой есть большая полоса пропускания между вами и третьей машиной.Конечно, идеальным решением для машин является непосредственное общение друг с другом. Я не могу придумать вескую причину, почему они не должны.
источник