Rsync по ssh или чему-то еще?

Я пытался использовать rsync на OSX к полю Linux или Unix, над которым я не имею большого контроля. Я делал что-то вроде этого

rsync -avz -e ssh remoteuser@remotehost:/remote/dir /this/dir/ 

Возвращенная ошибка:

удар: rsync: команда, не найденная rsync: соединение неожиданно закрывается (0 байтов, полученных до сих пор) [получатель] rsync ошибку: удаленная команда не нашла (кодируйте 127) в/SourceCache/rsync/rsync-37.3/rsync/io.c (452) [receiver=2.6.9]

Однако после чтения документов я начинаю думать, что я должен был бы на самом деле установить rsync демона на удаленном хосте.

  1. Я должен установить rsync сервер на удаленном хосте?
  2. Свободные альтернативы - GUI или не-GUI - которые не требуют установки ничего на удаленном хосте?

Спасибо!

10
задан 21.01.2013, 15:47

3 ответа

Вам нужна команда rsync на сервере, но Вы не должны выполнять демона.

Получите rsync двоичный файл, который работает над сервером, помещает его где-нибудь в Ваш дом и добавляет этот флаг к Вашей командной строке: --rsync-path=/home/user/path/to/rsync .

Если Вы не хотите копировать rsync в серверы, можно использовать scp или sshfs.

sshfs user@host ~/sync/user-host
rsync -av ~/local-dir ~/sync/user-host/remote-dir

В этом случае rsync будет работать полностью локально, но изменения будут распространены к серверу.

21
ответ дан 07.12.2019, 12:36

У Вас должен быть rsync на удаленном хосте - не обязательно rsync сервер (который, я верю, не обработает ssl соединение так или иначе), но rsync на локальном поле должен говорить с rsync на удаленном поле. Вы используете ssh для соединения двух.

Принятие rsync действительно существует на удаленном поле, это не находится в пути поиска по умолчанию для зарегистрированной оболочки Вашего ssh. В зависимости от Ваших предпочтений и полномочий на удаленном поле, можно попробовать

  • использование - rsync-соединяет-каналом = опция
  • изменение ПУТИ по умолчанию для удаленной оболочки ssh
  • добавление псевдонима для rsync в удаленной оболочке ssh
  • изменение выполняемой удаленной команды к полному пути к rsync

или что-то подобное. Если бы rsync как исполняемый файл (вице-сервер) не существует на удаленном хосте, он должен был бы быть добавлен.

6
ответ дан 07.12.2019, 12:36

Попробуйте SCP. Поскольку Вы уже получили ssh доступ, Вы не должны устанавливать ничто больше на удаленном хосте :)

Скопировать файлы от удаленного хоста до использования localhost:

# scp -R remoteuser@remotehost:/remote/dir /this/dir/ 

Или файлы копии от localhost до удаленного хоста с:

# scp -R /this/dir remoteuser@remotehost:/remote/dir 
0
ответ дан 07.12.2019, 12:36

Теги

Похожие вопросы