Быстро поддерживать базу данных sha256sums?

283
gmatht

У меня много разных дисков (в первую очередь, жестких дисков) для хранения разных файлов. Я хочу знать, что все они поддерживаются в той или иной форме. Учитывая, что у меня как-то есть терабайты файлов (очевидно, резервные копии резервных копий), я не хочу просто снова копировать все на новый носитель. Я хотел бы поддерживать некоторую форму базы данных файлов и использовать ее для быстрой и простой идентификации всех файлов на X, которые еще не существуют на Y к Y, и в идеале также

  1. перечислить все файлы на X, которые не дублируются / не сохраняются на других носителях
  2. Дублирующиеся файлы на X
  3. список всех файлов, которые не дублируются в автономное / WORM / внешнее хранилище
  4. в идеале также сопоставить JPG по дате EXIF.

Первым шагом к этому будет поддержание базы данных хэшей файлов на всех жестких дисках. Итак, как мне поддерживать базу данных хешей многих терабайт файлов?

На первый взгляд может показаться, что hashdeep будет достаточно, но, похоже, в любом случае обновление существующей базы данных не требуется, поэтому для обновления базы данных потребуется сканирование множества терабайт файлов. du -ab достаточно быстр, а filename + filesize дает довольно хорошее указание на то, являются ли два файла дубликатами; тем не менее, наличие хэшей было бы намного надежнее.

1

1 ответ на вопрос

0
gmatht

Возможно, не существует простого способа сделать это, и требуются значительные сценарии. Если так, я оставлю сценарии по адресу: https://github.com/gmatht/joshell/blob/master/mass_file_management/

На данный момент это не более чем анализ выходных данных du, позволяющий угадать, какие файлы являются новыми, и вычислить, сколько МБ потребуется новым уникальным файлам для архивирования. Лучшее решение было бы предпочтительным.

Похожие вопросы