rsync требует rsync-путь, когда удаленный rsync находится в пути

Я совершенно сбит с толку относительно того, почему для rsync требуется флаг --rsync-path, даже если удаленный rsync находится в пути.

Рассматривать:

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

тогда я попытался добавить --rsync-путь

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

Итак, первый rsync не был успешным, потому что он искал rsync в / usr / local / bin, но как только я передаю очевидный путь для rsync с использованием --rsync-path, он работает.

Почему это? (эта командная строка выдается rake deploy в octopress)

1 ответ

Решение

Моя память сейчас довольно размыта, но причина, по которой это происходило, заключалась в том, что в какой-то момент я использовал GNU stow на rsync и создал несколько символических ссылок, которые запутали rsyncс местоположением. Это было отсортировано после долгих потянув за волосы. Я теперь намного легче на волосах, но с другой стороны, у меня есть рабочий rsync, Это должно быть победой, если вы спросите меня.

Другие вопросы по тегам