Ich erhalte einen Fehler mit Cygwin Rsync, wenn ich versuche, Dateien zwischen 64-Bit-Windows und 64-Bit-Linux zu übertragen. Auf beiden Rechnern ist Rsync 3.0.7 installiert. Ich führe Rsync mit SSH aus (kein Daemon beteiligt). Ich sehe, dass die Verbindung zur Remote-Box hergestellt wird, aber Rsync bricht nach der Authentifizierung und vor der Dateiübertragung ab.
Was könnte dieses Problem verursachen?
C:\>rsync user@host:~/file newfile
Password:
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=
3.0.7]
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at /home/lapo/packagi
ng/rsync-3.0.6-1/src/rsync-3.0.6/io.c(600) [receiver=3.0.6]
Antwort1
Das error 12
bedeutet rsync
, dass die Verbindung zur Gegenstelle unterbrochen ist. Der Grund hängt von der Umgebung ab.
Wenn Sie rsync als Daemon ausführen, finden Sie Hinweise in der Protokolldatei. Ist auf der Festplatte des Remote-Systems genügend freier Speicherplatz vorhanden? Vielleicht liefert die Ausführung rsync
mit -v
dem Parameter etwas Nützliches?
Antwort2
Es stellte sich heraus, dass das Problem an der Windows-Git-Installation (mysysgit) lag. Git unter Windows hatte seine eigene ssh.exe und ihr Pfad lag vor dem Cygwin-Pfad, sodass rsync standardmäßig auf Gits SSH zurückgriff. Die Lösung bestand einfach darin, das Git-Bin- und das Cygwin-Bin-Verzeichnis in der Umgebung PATH zu vertauschen.