在 Linux 文件服务器上创建硬链接的守护进程,用于查找相同的文件

在 Linux 文件服务器上创建硬链接的守护进程,用于查找相同的文件

我有一台 Linux 服务器,我只在其中存储新文件或重命名目录,从不编辑文件。它包含来自其他 Linux 服务器的备份。

由于某些情况,存在相当多的重复文件,通常名称不同。

是否有任何免费的 Linux 工具可以定期扫描文件系统并拥有包含文件名、大小和可能的 sha1sum 的数据库,然后识别重复项并将其替换为硬链接?

答案1

一些工具取自 https://unix.stackexchange.com/questions/3037/is-there-an-easy-way-to-replace-duplicate-files-with-hardlinks

  • trimtrees.pl
  • 重复项-L
  • findup -m (来自 fslint)
  • rdfind-makehardlinks 复制代码

您可以在 cron 作业中运行其中一个。

答案2

您可以使用重复数据删除文件系统。Linux 中有两个主要选择 - btrfs 和 zfs。

btrfs 的缺点是它仍然没有被标记为稳定并且没有 fsck。

由于许可问题,ZFS 未包含在 Linux 内核中,但有一个内核模块支持大多数 Linux 发行版。此外,ZFS 还支持某种具有清理功能的在线 fsck。您可以查看受支持的发行版linux之家

两者都具有压缩、重复数据删除和快照功能,无需任何额外的用户空间守护进程 - 使其成为备份解决方案的理想选择。

相关内容