我正在尝试rsync在Windows 7 上使用.我安装了cwRsync并尝试连接到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]
Run Code Online (Sandbox Code Playgroud)
Pet*_*tah 22
我的诀窍是我有ssh冲突.
我在我的Windows路径上安装了Git,其中包括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 %*
Run Code Online (Sandbox Code Playgroud)
在Windows上,您可以键入where ssh以检查这是否是一个问题.你会得到这样的东西:
where ssh
C:\Program Files (x86)\Git\bin\ssh.exe
C:\Program Files\cwRsync\ssh.exe
Run Code Online (Sandbox Code Playgroud)
小智 13
我在更改rsync版本时看到了这一点.在旧版本中,它说:
rsync -e 'ssh ...
什么时候rsync.exe和ssh.exe他们在同一个目录.
对于较新的版本,我必须指定路径:
rsync -e './ssh ...
它起作用了.
小智 6
我有这个问题,但只有当我尝试从Linux(RH)服务器rsync到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.将solaris更改为root:root修复它.
我得到了解决方案。我使用的是 cygwin,这就是 Windows 的 rsync 命令仅在 Windows shell 中工作并且在 Windows powershell 中工作的问题。
有几次,两个 Linux 机器之间发生了同样的错误。并且似乎是由不兼容的 rsync 版本造成的