之前正常运行的 rsync 操作在最近的 Windows 8.1 更新中失败,显示“套接字 io 错误”

之前正常运行的 rsync 操作在最近的 Windows 8.1 更新中失败,显示“套接字 io 错误”

我已经在 Windows 机器上运行 rsync 和 rsyncd 很多年了,直到最近才遇到一个问题。

显然,当我的 Linux 和 FreeBSD 机器尝试将其数据与 Windows 机器上的数据同步时,Windows 端会在日志中显示以下内容:

2013/11/30 05:21:50 [2164] connect from example.com (192.168.1.100)
2013/11/30 05:21:52 [2164] rsync error: error in socket IO (code 10) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(1486)

Linux 和 FreeBSD 端在命令行中显示以下内容:

[email protected]$ rsync windows-machine::data
Password:
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [Receiver=3.0.9]

通常这会列出可用的文件,但现在却出现这个错误。我的 3 台机器都出现此错误,全部在 Windows 8.1 上。它们有一段时间没有备份了;除了一台在两天前(11 月 28 日)备份过,但此后一直无法备份。

我假设最近的 Windows 8.1 更新的安全设置发生了一些变化,导致了这些错误。

我尝试了一些方法,从 3.0.8 更新到 rsync 3.0.9,查看端口是否打开等。据我所见,端口 873 已打开。连接时,日志会更新,并会创建一个 rsync.lock 文件。删除该文件不会改变任何内容。它确实列出了可用的模块,我确实验证了机器可以访问这些文件。

端口已打开,正在建立连接,连接过程中发生故障

能否解释为什么会发生这种情况以及可能的解决方法或解决方案?

答案1

您可以通过更新 cygwin1.dll 文件来修复此问题。

相关内容