我现在有一台服务器,每晚使用Rsync将数据备份到NETGEAR ReadyNAS设备。 这在过去几个月一直很正常。 不过最近,我开始得到以下错误:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Connection reset by peer (104) inflate (token) returned -5 rsync error: error in rsync protocol data stream (code 12) at token.c(604) [receiver=3.0.6] rsync: connection unexpectedly closed (229743 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]
我已经设法追踪到一个特定的文件导致问题(通过使用Rsync复制该文件)。 该文件本身是相当大的 – 约975Mb。 但是,在同一个目录下还有其他的文件,有的像3Gb一样大,而且这些备份都很好。
我正在使用以下Rsync命令:
rsync -avz --password-file=/root/rsync.secret <sourcedir> username@readynas::backup
Rsyncing到Ubuntu Linux主机似乎工作,所以它看起来不像服务器上的rsync客户端有问题。
我谷歌search,但没有发现。 很多人似乎都说在Rsync服务器端调整超时时间解决了类似的问题,但如果这是我的问题,我不明白为什么它可以处理较大的文件。
有没有人有任何build议如何解决这个问题?
在机器之间进行压缩rsync之前,我已经看到过这种情况(很less)。 在我看到的所有情况下,数据本身已经被压缩(例如video文件或zip)。 大多数文件通过确定。 一旦在特定的文件有这个问题时w。
尝试不压缩。 (在rsync上没有-z标志)。可能会有一些关于传输的压缩数据,在极less数情况下,导致另一端出现故障。
另外:根据networking速度和源/目的地可用的CPU / RAM容量,如果不进行压缩,实际上可能会更快。 大多数(低/中端)NAS盒子并没有真正的力量。