rsync wymaga rsync-path, gdy zdalny rsync znajduje się na ścieżce


11

Jestem dość zdezorientowany, dlaczego rsync wymaga flagi --rsync-path, nawet jeśli zdalny rsync znajduje się na ścieżce.

Rozważać:

$ rsync -avze 'ssh -p 22' --delete public/ pmatos@domain.com:~/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]

potem próbowałem dodać --rsync-path

$ rsync -avze 'ssh -p 22' --rsync-path=/usr/bin/rsync  --delete public/ pmatos@domain.com:~/public_html
sending incremental file list
...

Tak więc pierwszy rsync nie powiódł się, ponieważ szukał rsync w / usr / local / bin, ale jak tylko przejdę oczywistą ścieżkę do rsync za pomocą --rsync-path, to działa.

Dlaczego to? (ten wiersz poleceń jest tym, który został wydany przez rake wdrażania w ośmiornicy)


Czy masz jakieś wymuszone polecenia na końcu miejsca docelowego? Coś w .bashrc lub .profile, które mogłoby ustawić lokalną zmienną środowiskową?
SmallClanger,

$ cat ~/.bashrc | grep PATHnic nie zwraca.
Paulo Matos

Jeśli po prostu ssh w sobie i uruchomić, which rsyncco dostajesz?
SmallClanger,

2
$ ssh pmatos@domain.com which rsyncpowroty/usr/bin/rsync
Paulo Matos,

Dziwne. Trzymając się teraz słomek: czy może lokalny rsync jest aliasedytowany w rsync --rsync-path(lub innym lokalnym opakowaniu)?
SmallClanger,

Odpowiedzi:


2

Moja pamięć jest teraz dość rozmyta, ale dzieje się tak dlatego, że w pewnym momencie użyłem GNU stow na rsync i stworzyłem kilka dowiązań symbolicznych, które mylą rsynclokalizację. Zostało to uporządkowane po długim wyrywaniu włosów. Jestem teraz o wiele lżejszy na włosach, ale z drugiej strony mam pracę rsync. To musi być wygrana, jeśli mnie zapytasz.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.