У меня есть сервер Linux, на котором я храню только новые файлы или переименовываю каталоги и никогда не редактирую файлы. Он содержит резервные копии с других серверов Linux.
В силу определенных обстоятельств существует довольно много повторяющихся файлов, часто с разными именами.
Есть ли какой-нибудь бесплатный инструмент для Linux, который периодически сканирует файловую систему и имеет базу данных с именами файлов, размерами и, возможно, суммами sha1, а затем определяет дубликаты и заменяет их жесткими ссылками?
некоторые инструменты взяты из https://unix.stackexchange.com/questions/3037/is-there-an-easy-way-to-replace-duplicate-files-with-hardlinks
Вы можете запустить один из них в задании cron.
Вы можете использовать дедуплицирующую файловую систему. В Linux есть два основных варианта - btrfs и zfs.
Недостатком btrfs будет то, что он все еще не отмечен как стабильный и не имеет fsck.
ZFS не входит в ядро Linux из-за проблем с лицензированием, но есть модуль ядра с поддержкой большинства дистрибутивов Linux. Также в ZFS есть какой-то онлайн-fsck с функцией скраба. Вы можете посмотреть поддерживаемые дистрибутивы на zfsonlinux.org
Оба имеют функции сжатия, дедупликации и создания моментальных снимков без необходимости использования каких-либо дополнительных демонов пользовательского пространства, что делает их идеальными для решений резервного копирования.