首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用硬链接细化备份的最有效方法

使用硬链接细化备份的最有效方法
EN

Unix & Linux用户
提问于 2016-05-20 06:59:26
回答 3查看 750关注 0票数 5

我有一个备份磁盘,它包含来自不同日期的同一台机器的数百个备份。备份是使用rsync和hardlink进行的,也就是说,如果文件不改变,备份脚本只会在旧备份中创建到文件的硬链接。因此,如果一个文件从未改变,那么基本上备份磁盘中只有一个副本,而是在每个目录中表示每个日期的备份(例如back-1back-2、. back-n)的100个硬链接。如果我想将其细化,我会删除其中的一个子集,但不是全部删除。假设我想删除back_5back_6、. back_10 (例如,在我真实的szenario中还有更多)。然后我试着通过以下方式来平分它:

代码语言:javascript
复制
echo back_5 back_6 back_10 | xargs -n 1 -P 0 rm -rf

这需要好几个小时。有什么更快的方法吗?

EN

回答 3

Unix & Linux用户

发布于 2016-05-25 02:08:57

我看不出你用这种方式使用xargs的速度有多慢。我的手册上说,-P是进程的数量,-n是参数的数量。-P0没有特殊的值,所以这很可能被忽略(或者,如果遵守,您将得到零进程,这将解释24小时的无!)。-n1确保每个文件名都有一个exec(2),这是最慢的。

我怀疑把这项工作并行化会给你买很多钱。我会认为

代码语言:javascript
复制
$ echo filenames ... | xargs rm -rf 

就够了。如果您愿意,可以尝试使用像-P4这样的值。通过不限制命令行参数的数量,可以最小化/bin/rm的调用,并让它通过磁盘缓存连续进行。

票数 1
EN

Unix & Linux用户

发布于 2016-05-25 09:51:02

df报告的数量不多,因为您主要是删除相对较小的目录。此外,根据文件系统的不同,对目录的更改和对文件的链接数量的更改将立即记录和/或同步到磁盘,因为它们对于故障恢复至关重要,因此速度更慢。

这实际上是你的链接效率的证明!

票数 0
EN

Unix & Linux用户

发布于 2016-05-25 10:02:50

根据我的经验,加快基于rsync+hardlink的备份的最佳方法是减少您拥有的文件数量。

大量的小文件在很大程度上减缓了rsync。

如果您能够以这样的方式组织您的数据,以便您的大部分文件,大部分是只读目录得到tar红色,您应该会看到在备份脚本中显着地加快速度。(使用像archivemount这样的工具,您就可以访问这些档案而不需要提取它们)。

并行备份脚本可能帮不了什么忙,甚至可能会减慢它的速度(可预测的磁盘访问是最优的)。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/284350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档