Hvorfor er denne rsync-forbindelse uventet lukket på Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at bruge rsync på Windows 7. Jeg installerede cwRsync og forsøgte at oprette forbindelse til Ubuntu 9.04.


$ rsync -azC --force --more-options ./ user@server:/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]

Bedste reference


Tricket for mig var, at jeg havde ssh konflikt.


Jeg har Git installeret på min Windows-sti, som indeholder ssh. cwrsync installerer også ssh.


Tricket er at lave en batchfil for at indstille de korrekte stier:


rsync.bat


@echo off
SETLOCAL
SET CWRSYNCHOME=c:commandscwrsync
SET HOME=c:UsersPetah
SET CWOLDPATH=\%PATH\%
SET PATH=\%CWRSYNCHOME\%in;\%PATH\%
\%~dp0cwrsyncin
sync.exe \%*


På Windows kan du skrive where ssh for at kontrollere, om dette er et problem. Du får noget som dette:


where ssh
C:Program Files (x86)Gitinssh.exe
C:Program FilescwRsyncssh.exe

Andre referencer 1


Jeg så dette, når jeg skiftede rsync-versioner. I den ældre version arbejdede det for at sige:


rsync -e 'ssh ...


da rsync.exe og ssh.exe var i samme mappe.


Med den nyere version måtte jeg angive stien:


rsync -e './ssh ...


og det fungerede.

Andre referencer 2


Jeg havde dette problem, men kun da jeg forsøgte at rsync fra en Linux (RH) server til en Solaris server. Min løsning var at sikre, at rsync havde samme sti på begge kasser, og at ejerskabet af rsync var det samme.


På linux-boksen var rsync-stien/usr/bin, på Solaris-boksen var det/usr/local/bin. Så i Solaris-boksen gjorde jeg ln -s/usr/local/bin/rsync/usr/bin/rsync.


Jeg havde stadig det samme problem og bemærkede ejerskabsforskelle. På linux var det root: root, på solaris var det bin: bin. Ændring af solaris til root: root fix det.

Andre referencer 3


Jeg havde denne fejl opstår mellem 2 Linux-bokse. Løst løst ved at installere RSYNC på fjernbetjeningen såvel som den lokale.

Andre referencer 4


Denne fejlmeddelelse betyder nok, at du enten mistypede servernavnet eller glemte at starte en ssh-server på server . Sørg for, at en ssh-server kører på serveren i port 22, og at den ikke er firewalled. Du kan teste det med ssh user@server.

Andre referencer 5


Jeg får løsningen. Jeg bruger cygwin, og dette er problemet, rsync-kommandoen til Windows fungerer kun i Windows Shell og fungerer i Windows PowerShell.


Et par gange er der sket den samme fejl mellem to linux bokse. og synes at være ved inkompatible versioner af rsync