rsync erfordert rsync-path, wenn sich remote rsync im Pfad befindet

11

Ich bin ziemlich verwirrt darüber, warum rsync das Flag --rsync-path benötigt, selbst wenn sich remote rsync im Pfad befindet.

Erwägen:

$ 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]

dann habe ich versucht --rsync-path hinzuzufügen

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

Der erste rsync war also nicht erfolgreich, weil er in / usr / local / bin nach rsync suchte, aber sobald ich den offensichtlichen Pfad für rsync mit --rsync-path übergebe, funktioniert es.

Warum ist das? (Diese Befehlszeile wird von Rake Deploy in Octopress ausgegeben.)

Paulo Matos
quelle
Haben Sie erzwungene Befehle am Zielende? Gibt es irgendetwas in der .bashrc oder im .profile, das eine lokale Umgebungsvariable setzen könnte?
SmallClanger
$ cat ~/.bashrc | grep PATHgibt nichts zurück.
Paulo Matos
Wenn Sie nur in sich selbst ssh und laufen, which rsyncwas bekommen Sie?
SmallClanger
2
$ ssh [email protected] which rsynckehrt zurück/usr/bin/rsync
Paulo Matos
Seltsam. Jetzt an Strohhalmen festhalten: Ist Ihre lokale Synchronisierung möglicherweise aliasmit rsync --rsync-path(oder einem anderen lokalen Wrapper) verbunden?
SmallClanger

Antworten:

2

Mein Gedächtnis ist jetzt ziemlich verschwommen, aber der Grund dafür war, dass ich irgendwann GNU stow auf rsync verwendet und einige Symlinks erstellt habe, die den rsyncStandort verwirrten . Dies wurde nach vielem Haarziehen sortiert. Ich bin jetzt viel heller im Haar, aber andererseits habe ich eine Arbeit rsync. Das muss ein Gewinn sein, wenn Sie mich fragen.

Paulo Matos
quelle