我正在运行rsync将目录同步到我的外部USB HDD上。大约有150个演出的数据。我猜有5万多个文件。
它正在运行,目前是第一次同步,但是其复制文件的速度仅为1-5 MB / s。对于USB 2.0机箱,这似乎非常慢。驱动器上也没有其他传输发生。
这是我使用的选项:
rsync -avz --progress /mysourcefolder /mytargetfolder
我正在运行Ubuntu Server 9.10。
我正在运行rsync将目录同步到我的外部USB HDD上。大约有150个演出的数据。我猜有5万多个文件。
它正在运行,目前是第一次同步,但是其复制文件的速度仅为1-5 MB / s。对于USB 2.0机箱,这似乎非常慢。驱动器上也没有其他传输发生。
这是我使用的选项:
rsync -avz --progress /mysourcefolder /mytargetfolder
我正在运行Ubuntu Server 9.10。
Answers:
对于第一次同步,只需使用
cp -a /mysourcefolder /mytargetfolder
仅当目标为空时,rsync才会增加开销。
-z选项也可能会降低性能,如果不通过慢速链接传输数据,则不应该使用它。
rsync -avz --progress /mysourcefolder/ /mytargetfolder
否则,您将获得而不是镜像内容的mysourcefolder
内部副本mytargetfolder
如果您将rsync与快速网络或同一台计算机上的磁盘到磁盘一起使用,
不使用压缩-z
并使用--inplace
加快其速度以达到硬盘驱动器或网络的性能
压缩占用大量CPU
不使用就地会使硬盘驱动器大量跳动(在创建最终文件之前会使用临时文件)
压缩和不使用就地比较适合通过Internet(慢速网络)进行压缩
新:请注意目标位置...如果启用了NTFS“压缩” ...这会严重减慢大文件(我说200MB +)的速度,rsync似乎停滞了,这是由此引起的。
使用该-W
选项。这将禁用增量/差异比较。当文件时间/大小不同时,rsync复制整个文件。
同时删除该-z
选项。这仅对压缩网络流量有用。
现在rsync
应该和一样快cp
。
-z
仅适用于低速网络流量。如果您的网络速度足够快,它将使速度变慢,因为您将受到CPU的限制。
-W
:“当将源和目标都指定为本地路径时,这是默认设置,但前提是没有有效的批写选项。”
首先-在这种情况下,文件数量将成为主要因素。每个文件的平均大小为3MB。在OP的情况下,可能存在io瓶颈会影响速度。这里更多 -这是一个非常干的阅读,但封面图片是值得的。
那么,使用rsync复制到空目录吗?以下是一些加快速度的方法:
rsync -a /source /destination >/somewhere/rsync.out 2>/somewhere/rsync.err
-第一个>基本上会打印出包含您通常会看到的所有内容的文件,而2>则表示错误消息。我的命令是:
rsync -avAXEWSlHh /source /destination --no-compress --info=progress2 --dry-run
如果一切顺利,我将删除“ --dry-run”并放手。A,X和E涵盖了-a未涵盖的扩展属性和权限,l代表软链接,H代表硬链接,h代表人类可读。
更新USB驱动器,相同驱动器或网络上已同步的目录,都需要使用不同的rsync命令来最大化传输速度。
奖励 - 这是rsync手册页,如果您想测试硬盘速度,bonnie ++是一个不错的选择,并且对于您的网络速度,请尝试iperf。
*该帖子已有近十年的历史了,但是搜索引擎肯定喜欢它,而且我一直在看到它。这是一个很好的问题,我不认为“如何加快rsync的速度”的最高答案应该是“使用cp”。
您肯定想尝试rclone。这东西快疯了:
$ tree / usr [...] 26105目录,293208个文件
$ sudo rclone sync / usr / home / fred / temp -P -L --transfers 64
传输:17.929G / 17.929 GBytes,100%,165.692 MBytes / s,ETA 0s错误:75(重试可能有帮助)检查:691078/691078,100%传输:345539/345539,100%经过时间:1m50.8s
这是LITEONIT LCS-256(256GB)SSD的本地副本。
您可以在第一次运行时添加--ignore-checksum,以使其更快。
-z
/ --compress
:压缩将只加载CPU,因为传输不是通过网络而是通过RAM。--append-verify
:恢复中断的传输。这听起来像是个好主意,但它有一个危险的失败案例:任何大小等于或大于源的目标文件都将被忽略。同样,它在最后检查整个文件,这意味着--no-whole-file
在添加危险的失败案例时不会明显加快速度。-S
/ --sparse
:将空序列变成稀疏块--partial
或者-P
是--partial --progress
:保存任何部分传输的文件以供将来恢复。注意:文件不会有临时名称,因此请确保在整个副本完成之前,没有其他期望使用目标的文件。--no-whole-file
这样需要重新发送的任何内容都会使用增量传输。读取部分传输的文件的一半通常比重新写入要快得多。--inplace
避免文件复制(但前提是在整个传输完成之前没有任何内容读取目标)