Windows 7 rsync错误:错误的文件号

Windows 7 rsync错误:错误的文件号,windows-7,rsync,msysgit,ubuntu-8.04,cwrsync,Windows 7,Rsync,Msysgit,Ubuntu 8.04,Cwrsync,我试图将内容从本地机器(64位Windows 7)同步到远程服务器(64位Ubuntu 8),但失败了。任何一条建议都是非常受欢迎的,因为我已经花了太多时间在这些垃圾上了。。。提前谢谢 $ ls -al total 3 drwxr-xr-x 4 www www 4096 Jun 7 11:04 . drwxr-xr-x 5 www www 4096 Jun 7 13:13 .. drwxr-xr-x 7 www www 0 Jun 7 11:

我试图将内容从本地机器(64位Windows 7)同步到远程服务器(64位Ubuntu 8),但失败了。任何一条建议都是非常受欢迎的,因为我已经花了太多时间在这些垃圾上了。。。提前谢谢

$ ls -al
total 3
drwxr-xr-x    4 www www     4096 Jun  7 11:04 .
drwxr-xr-x    5 www www     4096 Jun  7 13:13 ..
drwxr-xr-x    7 www www        0 Jun  7 11:04 release-20110607110404

$ rsync -avz ./release-20110607110404/ www@web1:/home/www/
opening connection using: ssh -l www web1 rsync --server -vvlogDtprze.iLsf . /home/www/
select: Bad file number
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]

$ rsync --version
rsync  version 3.0.8  protocol version 30
Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, no xattrs, iconv, symtimes   

嘿,我知道了,至少找到了问题的根源。。。它在msysgit(code.google.com/p/msysgit)的GitBash中不起作用,但在普通的windows命令行中起作用!奇怪

呵呵,我想出来了,至少找到了问题的根源。。。它在msysgit(code.google.com/p/msysgit)的GitBash中不起作用,但在普通的windows命令行中起作用!奇怪

好的,看看这个。GitBash附带了一系列*nix实用程序(包括
ssh
),但cwRsync也附带了
ssh
。现在,在我的系统上,GitBash附带的
ssh
版本已经过时了,而cwRsync附带的版本是最新版本。如果从GitBash内部运行
哪个ssh
,显然会显示GitBash版本。那么,猜猜会使用哪个版本的rsync?我猜是错的

你可以解决这个问题

您正在尝试运行此命令:

rsync -avz ./release-20110607110404/ www@web1:/home/www/
但是,由于您希望使用不同的
ssh
,因此需要如下内容:

rsync -avz -e '<path to cwRsync ssh> www@web1' ./release-20110607110404/ :/home/www/

现在,请记住,您必须使用
ssh
和ssh配置文件的路径必须是愚蠢的windows反斜杠格式(如果我不使用该格式,至少我的系统似乎会抱怨),但我相信这对您有用,您可以留在GitBash中,而不是使用cmd。

好的,检查一下。GitBash附带了一系列*nix实用程序(包括
ssh
),但cwRsync也附带了
ssh
。现在,在我的系统上,GitBash附带的
ssh
版本已经过时了,而cwRsync附带的版本是最新版本。如果从GitBash内部运行
哪个ssh
,显然会显示GitBash版本。那么,猜猜会使用哪个版本的rsync?我猜是错的

你可以解决这个问题

您正在尝试运行此命令:

rsync -avz ./release-20110607110404/ www@web1:/home/www/
但是,由于您希望使用不同的
ssh
,因此需要如下内容:

rsync -avz -e '<path to cwRsync ssh> www@web1' ./release-20110607110404/ :/home/www/

现在,请记住,您必须使用的
ssh
和ssh配置文件的路径必须是愚蠢的windows反斜杠格式(如果我不使用该格式,至少我的系统似乎会抱怨),但我相信这对您有用,您可以留在GitBash中,而不是使用cmd。

我应该补充一点,我正在使用cwRsync(C:\ProgramFiles(x86)\cwRsync\bin\rsync.exe)rsync服务器在ubuntu机器上运行正常?您可以从win-7 ping ubuntu?检查防火墙规则以确保rsync连接可以打开?万一其他人遇到这种情况,问题是由mingw使用的ssh.exe引起的,如上面的msysgit和您正在使用的任何版本的rsync附带的ssh.exewindows。如果更改在系统变量中定义这两个bin文件夹的顺序,将得到不同的结果。其中一个可行。另一个不行。我应该补充一点,我正在使用cwRsync(C:\Program Files(x86)\cwRsync\bin\rsync.exe)rsync服务器在ubuntu机器上运行正常?您可以从win-7 ping ubuntu?检查防火墙规则以确保rsync连接可以打开?万一其他人遇到这种情况,问题是由mingw使用的ssh.exe引起的,如上面的msysgit和您正在使用的任何版本的rsync附带的ssh.exewindows。如果您更改在系统变量中定义这两个bin文件夹的顺序,您将得到不同的结果。其中一个可行。另一个不行。谢谢。我实际上是在为不同的问题搜索同一错误,并且我还使用Git Bash作为我的命令行环境。因此,使用Python easy_install on的问题和解决方案是相同的Windows with Git Bash.cwRsync附带了一个ssh客户端,它与gitbash附带的客户端不同。这可能是问题的主要部分,如果不是全部的话。我遇到了相同或类似的问题,因此如果有任何问题,我会再次发布。谢谢。我实际上是在为不同的问题搜索相同的错误,我也遇到了相同的问题使用Git Bash作为我的命令行环境。因此,使用Git Bash.cwRsync在Windows上使用Python easy_install时遇到的问题和解决方案与使用Git Bash.cwRsync的ssh客户端不同。这可能是问题的主要部分,如果不是全部的话。我遇到了相同或类似的问题,因此我将再次发布我的文章如果我能成功的话。