Сохранять файл хеш-кода (контрольной суммы) по-разному

261
Magnus Andersson

Предположим, у вас есть файловая иерархия с миллионами файлов (может быть резервной копией).

Как описано в https://askubuntu.com/questions/318530/generate-md5-checksum-for-all-files-in-a-directory, можно использовать любую из следующих команд для создания файла «checklist.chk» с хэш-код и имя в каждой строке:

md5sum * > checklist.chk # Doesn't go down sub directories # or find -type f -exec md5sum "{}" + > checklist.chk # Do go down sub directories 

Затем для проверки файлов вы можете использовать:

md5sum -c checklist.chk 

Теперь предположим, что вы изменили только несколько из этих миллионов файлов (возможно, потому, что вы использовали rsync). Затем он считает ненужным пересчитать все хеш-коды.

Я искал что-то (программу, скрипт или что-то еще), которое использует файл "checklist.chk" с четырьмя столбцами: хэш-код, дата изменения, размер и имя в каждой строке. И так же, как rsync, он пропускает файлы, в которых размер / дата изменения не изменилась.

Затем, в дальнейшем, вы, конечно, должны на самом деле проверить целостность файлов, вызвав что-то, соответствующее '' 'md5sum -c checklist.chk' ''.

Или есть лучшие способы решить всю эту проблему.

-1
Вы задаете не по теме вопрос (покупка ПО). Вопросы по поиску рекомендаций по продуктам, услугам или учебным материалам не по теме. См. [По теме] (https://superuser.com/help/on-topic). Попробуйте https://softwarerecs.stackexchange.com/, но сначала прочитайте [Что требуется, чтобы вопрос содержал «достаточно информации»] (https://meta.softwarerecs.stackexchange.com/questions/336/what-is- требуется в обмен на а-вопрос-к-содержат-достаточно-информации). DavidPostill 7 лет назад 0
Трудно понять, что вы не просто используете rsync. David Schwartz 7 лет назад 0
@DavidSchwartz Если вы используете --checksum в rsync, он вычисляет контрольную сумму для каждого файла, которая в моем опыте становится примерно в 50 раз медленнее. Magnus Andersson 7 лет назад 0
@DavidSchwartz Также сторона отправителя может также стать поврежденной. Я хочу иметь возможность проверить целостность как отправителя, так и получателя. Magnus Andersson 7 лет назад 0

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

0
Magnus Andersson

Поэтому я написал свою собственную программу: https://github.com/emandersson/hashcodefilesync, которая выполняет все вышеперечисленное (ускоряет обновление хеш-файла).

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