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.)
$ cat ~/.bashrc | grep PATH
gibt nichts zurück.which rsync
was bekommen Sie?$ ssh [email protected] which rsync
kehrt zurück/usr/bin/rsync
alias
mitrsync --rsync-path
(oder einem anderen lokalen Wrapper) verbunden?Antworten:
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
rsync
Standort verwirrten . Dies wurde nach vielem Haarziehen sortiert. Ich bin jetzt viel heller im Haar, aber andererseits habe ich eine Arbeitrsync
. Das muss ein Gewinn sein, wenn Sie mich fragen.quelle