在过去的几年里,我一直使用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选项似乎有帮助(如果你需要那个输出会很烦人).
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)
我正在使用 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 限制带宽都没有解决问题。
在从硬盘到 FAT32 USB 驱动器进行 rsync 时遇到了类似的问题。在我的情况下,rsync 已经在不到一秒钟的时间内冻结了,之后根本没有反应……用 CTRL+C 留下它。
发现问题在于硬盘上使用了硬链接,而 USB 驱动器上的 FAT32 文件系统不支持硬链接。
用 ext4 格式化 USB 驱动器为我解决了这个问题。
在我的情况下 rsync 实际上并没有失败。
我有定期的服务器备份,可以传输超过 500GB+ 的大文件,并且指定了--append-verify或--checkusm超过了ssh参数。
我在分析中发现,一旦客户端完成它的文件检查,然后服务器端检查开始。这意味着当服务器正在执行它的检查时,客户端将出现挂起和冻结-htop在服务器上运行以 rsync 工作。
如果rsync在服务器上以守护模式运行并使用rsync协议而不是ssh传输,这可能不是问题。
在相关说明中,这个非常长的等待会触发 SSH 超时和rsync: connection unexpectedly closed (254 bytes received so far) [sender]错误消息,解决方法是添加ClientAliveInterval 120和ClientAliveCountMax 720到 /etc/ssh/sshd_config.