rsync在转移期间突然无限期地挂起

Mat*_*rdo 31 macos rsync nas

在过去的几年里,我一直使用rsync one-liner将我的Mac Mini桌面(OSX 10.9,2.5 GHz i5,4 GB RAM)上的重要文件夹备份到FreeNAS盒子(0.7.2 Sabanda修订版5266,Pentium D 2.66 GHz,822MiB RAM [由系统报告,我认为那里有1 GB]).我正在FreeNAS框上运行rsync守护进程.最近,这些转让已无限期挂起.我做了通常的Google-fu,无法确定问题的根源或解决方案.

单线是:

rsync -rvOlt --exclude '.DS_Store'                                  \
      --exclude '.com.apple.timemachine.supported'                  \
      --delete /Volumes/Storage/Music/Albums/ 192.168.1.100::albums
Run Code Online (Sandbox Code Playgroud)

我试图让-vvv--progress,但没有模式,我可以什么之间挂起,什么不能辨别.哎呀,如果我重试,同一个文件可能会在转移过程中挂在不同的位置,或者根本不挂起.干跑(-n)并不总是成功.我唯一的"成功"就是实现一个timeout(--timeout=10)并一遍又一遍地重新运行命令.最终,我一路走来,但不能保证成功,并且步伐不可接受.我已经达到了一个我无法通过的文件.

Mac Mini通过5 GHz连接到我的路由器.FreeNAS盒连接到100 mbit端口上的同一个路由器.实际转移时,rsync --progress报告2.5-4 MB/s.根据--progress,挂起实际上就是这样 - 据我所知,没有数据传输发生.

我需要有关诊断和解决方案的帮助.

小智 17

我一次又一次地遇到同样的事情,如果你放弃-v选项似乎有帮助(如果你需要那个输出会很烦人).

  • 我仍然对 --progress 和 no -v 感到困惑 (4认同)
  • @Michael如果你放弃`-v`就加上`--progress`.它会有助于知道是否悬挂 (3认同)

Gid*_*aah 12

尝试使用--whole-file/-W。此命令禁用 rsync delta-transfer 算法。这对我们有用(WSL 到 OSX)

我们的完整同步标志是-avWPle

(e 是因为我们使用的是 ssh,这必须是最后一个标志)


Eze*_*tor 11

当远程设备空间不足时,这发生在我身上.--verbose使用选项时不会显示错误; 关闭它会产生一些STDERR输出,说明远程设备空间不足.当我释放一些空间时,我能够再次运行rsync --verbose并且一切都很顺利.


Jim*_*Jim 11

我遇到了同样的问题.删除-v对我不起作用.我的用例略有不同,因为我从源(EXT4)到ExFAT.对我来说问题是rsync试图保留设备文件和权限,ExFAT不支持.我在使用-hrltDvaP开关.在-D-a交换机似乎是我的问题.该-a开关转换为-rlptgoD (no -H,-A,-X).的-p,-g-o交换机似乎是我的根本原因rsync的是对一个或所有这些运行期间的barfing.明确删除-a和指定-Prltvc开关对我有用.

bkupcmd="nice -n$nicelevel /usr/bin/rsync -Prltvc --exclude-from=/var/tmp/ignorelist "
Run Code Online (Sandbox Code Playgroud)


kar*_*ten 6

我正在使用 openSUSE 13.2 Linux,rsync 版本 3.1.1-2.4.1.x86_64,我遇到了类似的问题,在我的笔记本电脑和外部硬盘之间执行 rsync,目标设备确实有足够的可用空间。

我以为我有一个改进省略选项 -v,但 10 分钟后它又挂了:strace 说: select(5, [], [4], [], {60, 0}) = 0 (Timeout)

使用“iotop”,我可以看到确认 rsync 进程不再进行重要的磁盘 IO。

删除 -v 选项和使用 --bwlimit 限制带宽都没有解决问题。


Ale*_*lex 5

在从硬盘到 FAT32 USB 驱动器进行 rsync 时遇到了类似的问题。在我的情况下,rsync 已经在不到一秒钟的时间内冻结了,之后根本没有反应……用 CTRL+C 留下它。

发现问题在于硬盘上使用了硬链接,而 USB 驱动器上的 FAT32 文件系统不支持硬链接。

用 ext4 格式化 USB 驱动器为我解决了这个问题。


Dan*_*ski 5

在我的情况下 rsync 实际上并没有失败。

我有定期的服务器备份,可以传输超过 500GB+ 的大文件,并且指定了--append-verify--checkusm超过了ssh参数。

我在分析中发现,一旦客户端完成它的文件检查,然后服务器端检查开始。这意味着当服务器正在执行它的检查时,客户端将出现挂起和冻结-htop在服务器上运行以 rsync 工作。

如果rsync在服务器上以守护模式运行并使用rsync协议而不是ssh传输,这可能不是问题。

在相关说明中,这个非常长的等待会触发 SSH 超时和rsync: connection unexpectedly closed (254 bytes received so far) [sender]错误消息,解决方法是添加ClientAliveInterval 120ClientAliveCountMax 720/etc/ssh/sshd_config.