rsync nécessite rsync-path lorsque rsync distant est dans le chemin

11

Je suis assez confus quant à la raison pour laquelle rsync nécessite l'indicateur --rsync-path même lorsque rsync distant est dans le chemin.

Considérer:

$ rsync -avze 'ssh -p 22' --delete public/ [email protected]:~/public_html
bash: /usr/local/bin/rsync: No such file or directory
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote command not found (code 127) at io.c(601) [sender=3.0.7]

puis j'ai essayé d'ajouter --rsync-path

$ rsync -avze 'ssh -p 22' --rsync-path=/usr/bin/rsync  --delete public/ [email protected]:~/public_html
sending incremental file list
...

Ainsi, le premier rsync n'a pas réussi car il recherchait rsync dans / usr / local / bin mais dès que je passe le chemin évident pour rsync en utilisant --rsync-path, alors cela fonctionne.

Pourquoi est-ce? (cette ligne de commande est celle émise par rake deploy dans octopress)

Paulo Matos
la source
Avez-vous des commandes forcées à l'extrémité de destination? Quelque chose dans le .bashrc ou .profile qui pourrait définir une variable d'environnement local?
SmallClanger
$ cat ~/.bashrc | grep PATHne renvoie rien.
Paulo Matos
Si vous vous contentez de vous which rsyncdébrouiller et de courir, qu'obtenez-vous?
SmallClanger
2
$ ssh [email protected] which rsyncretours/usr/bin/rsync
Paulo Matos
Bizarre. Agrippant aux pailles, maintenant: votre rsync local est-il peut-être aliasédité rsync --rsync-path(ou un autre wrapper local)?
SmallClanger

Réponses:

2

Ma mémoire est maintenant assez floue à ce sujet, mais la raison en est que j'ai utilisé GNU stow sur rsync à un moment donné et créé des liens symboliques qui ont confondu l' rsyncemplacement de s. Cela a été trié après avoir tiré beaucoup de cheveux. Je suis maintenant beaucoup plus léger sur les cheveux mais d'un autre côté j'ai un travail rsync. Ce doit être une victoire si vous me demandez.

Paulo Matos
la source