rsync вимагає rsync-шлях, коли віддалений rsync знаходиться в шляху


11

Я дуже збентежений, чому для 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-path

$ 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, він працює.

Чому це? (цей командний рядок призначений розгортанням граблів в octopress)


Чи є у вас цільові команди в кінці призначення? Щось у .bashrc або .profile, що може встановити змінну локального середовища?
SmallClanger

$ cat ~/.bashrc | grep PATHнічого не повертає.
Пауло Матос

Якщо ти просто сш в себе і запускаєш, which rsyncщо ти отримуєш?
SmallClanger

2
$ ssh pmatos@domain.com which rsyncповернення/usr/bin/rsync
Пауло Матос

Дивно. Схопившись за соломинку, тепер: Є чи можливо , ваш місцевий Rsync aliasед до rsync --rsync-path(або яка - небудь інша місцева обгорткою)?
SmallClanger

Відповіді:


2

Моя пам’ять зараз досить нечітка з цього приводу, але причиною цього було те, що я в якийсь момент використовував GNU, що перебуває на rsync, і створював кілька посилань, які плутали rsyncрозташування. Це було відсортовано після багатого вичісування волосся. Зараз я набагато світліше на волоссі, але з іншого боку, у мене працює rsync. Це, мабуть, виграш, якщо ви запитаєте мене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.