.png)
У меня есть два сервера Windows (2016) в двух разных местах, оба с примерно 8 ТБ данных. У них обоих должны быть идентичные файлы и файловая структура, но возможно, что-то изменилось между ними. Я хочу определить файлы, которые либо не совпадают, либо присутствуют на одном сервере, но отсутствуют на другом.
Моя теория заключается в том, что это должно быть возможно с помощью некоторого цикла Powershell.Получить-FileHash, где я запускаю его на одном сервере, экспортирую данные в файл, затем перемещаю этот файл на второй сервер и каким-то образом сравниваю их - но, к сожалению, я не настолько гуру Powershell, чтобы сделать это самостоятельно.
Возможно, есть утилита, которая может это сделать, если кто-то о ней знает. Главное, что я не могу использовать программу, которая просто сравнивает оба каталога, поскольку два сервера вообще не подключены к одной и той же сети (или к Интернету).
решение1
Я предлагаю вам использоватьрхашОн небольшой и простой в использовании и должен идеально подойти для вашего сценария.
Он генерирует текстовый файл, содержащий список файлов в целевом каталоге (включая подкаталоги) и их хэши. Затем вы можете сравнить два текстовых файла (используя, например, windiff), чтобы выявить любые расхождения.
Командная строка, которую нужно использовать, будет выглядеть примерно так:
cd /d c:\directory\to\be\hashed
rhash --sha512 -r -o e:\output.txt .
(Вы хотите выполнить операцию хеширования относительно текущего каталога, чтобы выходной файл содержал относительные пути, а не абсолютные. Абсолютные пути затруднили бы сравнение двух выходных файлов.)
решение2
Я бы просто создал репликацию DFS между двумя серверами. Это бы гарантировало, что каждый сервер обслуживает один и тот же набор файлов, и это позволило бы вам настроить расписание синхронизации в случае, если это сайт с низкой пропускной способностью.
Подробнее читайте здесь, пожалуйста;Обзор репликации DFS