jim*_*x52 7 backup performance rsync
我们在远程服务器上有大量文件,我想定期备份到本地系统以获得额外的冗余。一些细节:
相似:
0123456789/
0123456
abc/
1.fff
2.fff
3.fff
xyz/
9.fff
8.fff
7.fff
9877656578/
5674563
abc/
1.fff
2.fff
3.fff
xyz/
9.fff
8.fff
7.fff
Run Code Online (Sandbox Code Playgroud)
成千上万的根文件夹仅包含一些内部文件夹/文件结构 - 但所有根文件夹都是数字(0-9)。
我rsync -aP
第一次用直线跑了,结果花了3196m20.040s
. 部分原因是因为远程服务器在rsync
2.6.6 上,我无法使用 3.xx 中的增量文件功能。编译文件列表需要将近 12 个小时 - 每 10 秒运行大约 500 个文件。我不认为后续运行会花费这么长时间,因为初始运行必须重新下载所有内容 - 然而,即使 12 小时仅用于文件列表也太长了。
文件夹命名分解如下:
$ ls | grep "^[^67]" | wc -l
295
$ ls | grep "^6" | wc -l
14167
$ ls | grep "^7" | wc -l
14414
Run Code Online (Sandbox Code Playgroud)
我已经rsync -aWP --delete-during
通过使用--include="/0*/" --exclude="/*/"
我同时运行其中的 80* 1* 2* 3* 4* 5* 8* 9*
个以及我使用的 6 个和 7 个来分解它来测试运行它60*
-69*
并且70*-79*
因为层次结构中的文件夹首当其冲以6
or开头7
(每个6?*
or大约 1400 个7?*
)。
一切,这不是一个6或7大约需要5分钟,总。6/7 目录(分解为 1/10)每个需要 15 分钟。
这是非常高效的,除了要运行这个作业,我必须同时运行 28 个并发rsync
,这使可用连接数饱和——更不用说可能使网络饱和了。
有没有人推荐rsync
我可以添加的另一种变体或一些附加选项,以防止它同时使用如此多的连接,而不必rsync
在一端按顺序在2.6.6的范围内进行?
编辑 #1:我们确实为此外部提供商支付带宽费用,因此理想情况下,我们只会通过网络发送需要发送的内容,仅此而已。
在初始同步时间为 40 小时来下载和同步所有数据后,后续扫描和同步相同数据(只是为了获取更新)仅花费了 6.5 小时。用于运行的命令rsync
是:
rsync -a --quiet USER@REMOTE_SERVER:ROOT/FOLDER/PATH/ /LOCAL/DESTINATION
Run Code Online (Sandbox Code Playgroud)
我认为我的初始下载时间是双重的:
初始数据集为 270GB 和约 2M 文件,需要通过互联网扫描和下载大量数据(在我们的示例中,我们有一个 100mbit 同步连接,并且连接到大型 CDN 提供商)
我在初始同步中启用了 -P 选项和 -v 选项,这导致大量本地控制台显示正在同步的每个文件和进度信息。
所以,答案在这里:只需使用rsync
没有那么多冗长的选项(--quiet
理想情况下),它就非常有效 - 即使对于巨大的数据集也是如此。