Подтвердить что ты не робот

Почему это соединение rsync неожиданно закрывается в Windows?

Я пытаюсь использовать rsync в Windows 7. Я установил cwRsync и попытался подключиться к Ubuntu 9.04.

$ rsync -azC --force --more-options ./ [email protected]:/my/path/
rsync: connection unexpectedly closed (0 bytes received so far) [receiver] 
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [receiver=3.0.5]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(610) [sender=3.0.8]
4b9b3361

Ответ 1

Я получаю решение. я использую cygwin, и это проблема, которую команда rsync для Windows работает только в оболочке Windows и работает в Windows PowerShell.

Несколько раз случалась одна и та же ошибка между двумя ящиками Linux. и представляется несовместимыми версиями rsync

Ответ 2

Трюк для меня состоял в конфликте ssh.

У меня есть Git, установленный на моем пути Windows, который включает ssh. cwrsync также устанавливает ssh.

Хитрость заключается в том, чтобы сделать пакетный файл для установки правильных путей:

rsync.bat

@echo off
SETLOCAL
SET CWRSYNCHOME=c:\commands\cwrsync
SET HOME=c:\Users\Petah\
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\bin;%PATH%
%~dp0\cwrsync\bin\rsync.exe %*

В Windows вы можете ввести where ssh, чтобы проверить, не является ли это проблемой. Вы получите что-то вроде этого:

where ssh
C:\Program Files (x86)\Git\bin\ssh.exe
C:\Program Files\cwRsync\ssh.exe

Ответ 3

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

rsync -e 'ssh ...

когда rsync.exe и ssh.exe находятся в одном каталоге.

В новой версии мне пришлось указать путь:

rsync -e './ssh ...

и он работал.

Ответ 4

У меня была эта проблема, но только тогда, когда я попытался выполнить rsync с сервера Linux (RH) на сервер Solaris. Мое исправление заключалось в том, чтобы убедиться, что rsync имеет одинаковый путь в обоих блоках и что право собственности на rsync было одинаковым.

В поле linux путь rsync был /usr/bin, в поле Solaris это /usr/local/bin. Итак, в поле Solaris я сделал ln -s/usr/local/bin/rsync/usr/bin/rsync.

У меня все еще была такая же проблема, и я заметил различия в владельцах. На linux он был root: root, на Solaris это был bin: bin. Изменение соляриса на корень: корень исправил его.

Ответ 5

У меня возникла ошибка, возникающая между двумя ящиками Linux. Легко решается путем установки RSYNC на удаленном ящике, а также на локальном.

Ответ 6

Это сообщение об ошибке, вероятно, означает, что вы либо ошибочно указали имя сервера, либо забыли запустить ssh-сервер на сервере. Убедитесь, что сервер ssh запущен на сервере в порту 22 и что он не защищен брандмауэром. Вы можете проверить это с помощью ssh [email protected].