【问题标题】:How to add md5 sum to file metadata on a Linux file-system for the purpose of search and de-duplication?如何将 md5 sum 添加到 Linux 文件系统上的文件元数据以进行搜索和重复数据删除?
【发布时间】:2016-02-15 01:35:24
【问题描述】:

我有大量文件偶尔会有不同名称的重复文件,我想在文件系统中添加类似 fslint 的功能,以便对其进行重复数据删除,然后检查在指定位置创建的任何新文件针对已知的 md5 值。目的是在整个文件集合的初始求和之后,开销较小,因为它只需要将新文件的 md5 总和与现有总和的存储进行比较。此检查可以是日常工作,也可以作为文件提交过程的一部分。

checkandsave -f newfile -d destination

这个实用程序是否已经存在?存储 fileid-md4sum 对以尽可能快地搜索新文件的总和的最佳方法是什么?

r.e.使用 rmlink:

rmlink 将校验和存储在哪里,或者每次运行都会重复这项工作?我想将校验和添加到文件元数据(或某种形式的优化搜索速度的存储)中,这样当我有一个新文件时,我会生成它的总和,并根据现有的预先计算的总和检查它,对于相同的所有文件大小。

【问题讨论】:

    标签: linux filesystems duplicates md5sum


    【解决方案1】:

    是的,rmlint 可以通过 --xattr-read --xattr-write 选项执行此操作。

    cron 任务类似于:

    /usr/bin/rmlint -T df -o sh:/home/foo/dupes.sh -c sh:link --xattr-read --xattr-write /path/to/files

    -T df 表示只查找重复文件

    -o sh:/home/foo/newdupes.sh 指定放置输出报告/shell 脚本的位置(如果需要)

    -c sh:link 指定 shell 脚本应该用硬链接或符号链接(或 btrfs 上的重新链接)替换重复项

    请注意,rmlint 仅在必要时计算文件校验和,例如,如果只有一个文件具有给定大小,则没有重复的机会,因此不计算校验和。

    编辑:校验和存储在文件扩展属性元数据中。默认使用 SHA1,但您可以通过 -a md5 将其切换为 md5

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      • 1970-01-01
      • 1970-01-01
      • 2016-07-05
      • 1970-01-01
      • 2018-03-06
      • 2012-04-28
      相关资源
      最近更新 更多