У меня вопрос. Вы когда-нибудь использовали какие-либо инструменты, которые могут быстро сравнить идентичное огромное количество файлов (скажем, тысячи файлов с общим размером до 15 ГБ) на двух разных серверах Windows 2003? Я хочу сделать тест, чтобы убедиться, что наши инструменты резервного копирования работают хорошо.
Я нашел Corz Checksum и Gizmo, которые могут генерировать одно хеш-значение для родительской папки, но оба они обрабатываются довольно долго. Я надеюсь, что смогу найти более эффективные инструменты, которые можно будет использовать на моем производственном сервере.
Спасибо,
Ронин
rsync -nacv <source> <destination>
выведет список файлов, которые отличаются. Как обычно с rsync
источник и место назначения могут быть локальными или удаленными.
-n
вариант выполняет пробный прогон и фактически не передает никаких файлов.-a
option рекурсивно проверяет каждый файл и каталог ниже указанного вами пути.-c
опция делает контрольную сумму каждого файла. (По умолчанию вместо этого используются временные метки и размеры.) Используемая контрольная сумма - MD5 для новых версий rsync и MD4 для более старых версий.-v
опция распечатывает результаты.Что касается эффективности, каждый файл должен быть полностью прочитан с диска, вычислен хэш и передан в место назначения, затем файл назначения должен быть прочитан с диска и рассчитан хэш, и, наконец, два хэша сравниваются ... для каждого файла. Это верно для любого метода с помощью любого программного обеспечения.
Передачу по сети можно улучшить, если вы ожидаете, что большинство файлов будут одинаковыми, путем объединения большего количества файлов в один хэш. В любом случае сеть вряд ли станет узким местом, поскольку по ней передаются только хеши.
rsync
работает с несколькими потоками на обоих концах, поэтому ваши диски должны быть полностью загружены все время, если только вы не закончите работу с ЦП, и в этом случае ваш ЦП будет полностью загружен.