Альтернатива для сравнения с прогрессом для массивного сравнения каталогов?

1

Я только что перевел 2 000 000 файлов (3 ТБ) с одного RAID на другой.

Я хочу убедиться, что мои данные не повреждены.

rsync -c занимает очень много времени.

diff не показывает мне, что он делает.

Есть ли альтернатива, которая (а) быстрее, и (б) покажет мне прогресс во время сравнения?

(Я на Mac, и brew search diffдает мне apgdiff colordiff diffstat diffutils fmdiff libxdiff open-vcdiff podiff rfcdiff vbindiff bsdiff diffpdf diffuse dwdiff kdiff3 ndiff perceptualdiff rdiff-backup tkdiff wdiff ... один из них сделает работу?)

Дэн
источник
Дубликат superuser.com/questions/708001/… . Храните вопросы на 1 бирже сайта.
spuder
Рассчитать значения sha1sums для обоих наборов файлов, а затем вычислить значения chucksums?
Зоредаче
Я согласен с Zoredache. Использование sha1sum или md5sum для вычисления уникальных хэшей файлов на обоих хостах, а затем использование diff для сравнения результатов - это менее сложное решение для сети. Хотя я считаю, что это не будет намного быстрее / лучше, чем rsync -c.
Биапи
Оба RAID-массива являются локальными. Сетевой трафик не проблема.
Дан
Пожалуйста , не crosspost .
Марко

Ответы:

1

cmpэто инструмент, который вы, вероятно, ищете: он сравнивает два файла побайтно, читая по одному блоку каждого за раз. Как только он находит разницу, он выручает. Следовательно, он быстрее (не требует чтения целых файлов, когда они различаются) и более надежен (он фактически выполняет побайтовое сравнение), чем контрольное суммирование. Это также быстрее, чем, diffпоскольку не требует сложных вычислений, чтобы показать вам, где файлы отличаются.

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

Ксавье
источник