io.c中rsync协议数据流(代码12)中的错误(605)[Receiver = 3.0.9]

时间:2014-05-27 21:15:58

标签: ubuntu rsync

我试图将数据从一个ubuntu框转发到另一个ubuntu框,但每当我尝试运行该命令时,我都会收到错误,

error in rsync protocol data stream (code 12) at io.c(605) [Receiver=3.0.9]

我发现人们在网络上的其他各个地方都会遇到io.c(600)610错误,但没有关于605错误的错误。这个问题的原因是什么?如何解决?

我正在运行的命令是

/usr/bin/rsync -az -e /usr/bin/ssh user@remote:filename /path/to/local/filename

9 个答案:

答案 0 :(得分:5)

根据this,这是一个官方错误。在页面的底部,该bug的一个受害者提到他在他试图发送的文件时没有得到它。 100 GB或当他在客户端使用-W标志时(表示整个文件副本,而不是rsync delta分辨率;基本上,将rsync转换为比scp好一点)。

答案 1 :(得分:3)

我发现当目标计算机的硬盘驱动器已满时发生此错误。

我在尝试接受的答案并得到相同的错误后发现了这一点,所以它可能会帮助那些被接受的答案无效的人。显然,这是一个非常具体的答案并且很容易诊断,因此我不认为此错误消息与目标上缺少空间直接相关。

答案 2 :(得分:2)

确保 rsync安装在远程服务器上

发生了同样的问题,但在远程服务器上安装rsync后消失了。没有远程服务器上的rsync它将如何工作?

答案 3 :(得分:1)

我有同样的错误(在Debian Wheezy上)以及内核oops。 Parthian Shot的答案中提到的错误报告中提出的-W标志没有帮助。此外,它与SSH无关,因为rsync是在本地完成的。

问题是由于文件系统上的错误造成的。用fsck纠正它们解决了这个问题。 (务必检查是否有剩余的rsync进程。)

答案 4 :(得分:1)

根据我的经验,发生此错误是因为本地主机尚未存储远程主机密钥,而ssh在后台拒绝连接。

su - localUser -c "/usr/bin/rsync -avzh -e \"/bin/sshpass -p ${password} \
ssh -oPort=remotePort -l remoteUser\"  \
remoteServer:/remoteFolder /localFolder"

在解释的场景中,上述命令失败并显示错误:

error in rsync protocol data stream (code 12) at io.c(605) [Receiver=3.0.9]

没有提示接受远程密钥。要解决此问题,只需通过ssh作为localUser手动连接到远程主机,当被要求"要接受远程主机密钥是/否时选择"是"。

此后,运行上面的完整命令应该可以正常工作。

注意:如果使用@ [servername]和@ [servername]。[domainname]连接到远程,则需要为两个变体配置远程主机密钥,如上所述。 / p>

答案 5 :(得分:1)

将文件从RHEL系统(客户端)上载/更新到FreeBSD系统(服务器)时发生此错误。 rsync确实提供了有关libiconv.so.3的消息,该消息是必需的但不可用。 libiconv.so.3不在RHEL(客户端)上。 RHEL(客户端)上的rsync启动并运行良好。 原来在FreeBSD(服务器)上的rsync安装被打破了。 libiconv.so.3丢失了。因此,FreeBSD系统(服务器)上的rsync无法启动并导致RHEL系统(客户端)上提到的问题。 在FreeBSD(服务器)上重新安装rsync解决了这个问题。

答案 6 :(得分:1)

我要去这里愚蠢的奖项...

$ rsync -axv / source / path john @ remotehost:/ path / does / not / exist
john@192.168.1.10的密码:
建立文件列表...完成rsync:连接 意外关闭(到目前为止已收到8个字节)[发送方]
rsync错误: /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52.200.1/rsync/io.c中的rsync协议数据流(代码12)中的错误(453) [sender = 2.6.9]

错误就在我这边。远程路径不存在。我花了一段时间才弄清楚。我想知道为什么rsync无法报告类似的信息。

答案 7 :(得分:1)

我在具有不同版本的一对rsync的rsync协议数据流(代码12)中遇到此错误。因此,请同时检查客户端和服务器上的rsync版本。

在我的情况下,本地rsync是版本2.6.9(在Mac OSX上),而远程rsync是版本3(现在不记得确切的版本)。然后,我将本地rsync升级到了版本3,从而解决了该问题。

答案 8 :(得分:0)

我永远不会明白!

我遇到了这个错误:

rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(235) [Receiver=3.1.3]

此命令用于将文件从服务器备份到本地机器(在服务器上删除的文件将在本地机器上删除):

rsync --update -vr --delete -e ssh --rsh='sshpass -p MYPASSWORD ssh -l www-prod -p 42' mydomain.com:/mnt/images/ /media/usb-Samsung/backup_prod/images_rsync >> /media/usb-Samsung/backup_prod/images_rsync_result.txt

我试图在本地机器上以 root 身份执行它,但只收到上述错误。

偶然地,我从一个“普通”用户那里尝试过,它奏效了!

我永远不会明白为什么在本地机器上以 root 身份执行它不起作用,而它以简单用户身份执行。