Ошибка протокола Cygwin Rsync - PullRequest
4 голосов
/ 04 февраля 2011

Я пытаюсь rsync файлы между 64-битной Windows 7 и 64-битной Linux.У меня установлен rsync 3.0.7 на обеих машинах (версия cygwin на windows).

Это команда, которую я запускаю в Windows.Я вижу, что он устанавливает соединение с удаленным компьютером, но он просто умирает после аутентификации и перед передачей файлов.Что может вызвать эту проблему?

rsync -vvvv localfile REMOTE-HOST:~/

FILE_STRUCT_LEN=16, EXTRA_LEN=4
cmd=<NULL> machine=REMOTE-HOST user=guest path=~/
cmd[0]=ssh cmd[1]=-l cmd[2]=guest cmd[3]=REMOTE-HOST cmd[4]=rsync cmd[5]=--server cmd[6]=-vvvvv.Lsf cmd[7]=. cmd[8]=~/
opening connection using: ssh -l guest REMOTE-HOST rsync --server -vvvve.Lsf. "~/"
note: iconv_open("UTF-8", "UTF-8") succeeded.
Password:
FILE_STRUCT_LEN=24, EXTRA_LEN=4
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
[Receiver] _exit_cleanup(code=12, file=io.c, line=601): entered
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [Receive
r=3.0.7]
[Receiver] _exit_cleanup(code=12, file=io.c, line=601): about to call exit(12)
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
[sender] _exit_cleanup(code=12, file=/home/lapo/packaging/rsync-3.0.7-1/src/rsyn
c-3.0.7/io.c, line=601): entered
rsync error: error in rsync protocol data stream (code 12) at /home/lapo/packagi
ng/rsync-3.0.7-1/src/rsync-3.0.7/io.c(601) [sender=3.0.7]
[sender] _exit_cleanup(code=12, file=/home/lapo/packaging/rsync-3.0.7-1/src/rsyn
c-3.0.7/io.c, line=601): about to call exit(12)

Ответы [ 2 ]

4 голосов
/ 16 февраля 2011

Проблема была в конфликтующей установке git.Git включил свой собственный ssh ​​и его путь был до пути cygwin, поэтому rsync использовал gsh ssh.Исправление состояло в том, чтобы поменять местами порядок пути в git / cygwin bin, чтобы rsync использовал правильную версию ssh.

0 голосов
/ 08 сентября 2015

Я нашел способ обойти эту ошибку, добавив абсолютный путь к ssh в моем вызове:

rsync -avzphi --chmod=ugo=rwX --checksum --delete-after -e "C:\cwRsync\ssh.exe -p 9999 -i c:\cwRsync\ssh\test_id_rsa" "/cygdrive/c/repository/blah.com/" test@xx.xx.xxx.xxx:/home/test/public_html

...