Lorsque les sources et les destinations sont distantes, rsync se plaint:
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-t-il un obstacle technique insurmontable empêchant rsync de le faire? Ou est-ce simplement un cas de non encore implémenté? Il semble relativement facile de créer un tampon local en mémoire qui assure le transfert entre deux télécommandes, contenant à la fois des hachages et des données.
MODIFIER
Étant donné que les gens font des suggestions tangentielles, j'ai posté une question distincte décrivant mon cas d'utilisation particulier. Ce sont deux choses distinctes, vraiment, et je pense qu'il serait intéressant de connaître ces détails particuliers pour rsync
Réponses:
pourquoi ne pas essayer de vous connecter à la machine distante et de lancer le transfert à partir de là. Si vous utilisez les clés ssh, vous pouvez utiliser le mot de passe agent pour gérer l'authentification pour vous.
Cette commande vous connectera sur le remoteHostA et lancera rsync à partir de là.
la source
n'a aucun problème à faire cela.
la source
Vous pouvez contourner ce problème en montant l'un des systèmes de fichiers distants (ou les deux) avec
sshfs
. Ensuite, rsync le traitera comme s'il s'agissait d'un local.Malheureusement, cela entraînera une utilisation importante de la bande passante sur la machine sur laquelle le système de fichiers est monté
sshfs
, je vous recommande donc de ne le faire qu'avec la machine qui a beaucoup de bande passante entre vous et la troisième machine.Bien entendu, la solution idéale est que les machines se parlent directement. Je ne peux pas penser à une bonne raison pour laquelle ils ne devraient pas.
la source