Как можно осуществить сравнение содержимого двух различных серверов?

Существует возможность сравнить и вывести список файлов, разных только по содержанию, без необходимости загружать обе директории на локальную машину. 

Вы можете использовать утилиту rsync для сравнения двух директорий удаленных серверов по содержимому файлов. Воспользуйтесь следующей командой ssh для сравнения двух директорий на удаленных серверах и вывода списка файлов, отличающихся только по содержанию:

ssh user@server1 'rsync -avn --delete <server2>:<directory> <directory> > diff_files.txt'
 
В данной команде замените user на имя пользователя, server1 и server2 на адреса удаленных серверов, а <directory> на путь к целевой директории, содержимое которой вы хотите сравнить.

После выполнения команды будет создан файл diff_files.txt, содержащий список всех файлов, различающихся только по содержанию, без учета даты.
  • 13 ноября 2023 г. 6:28
Ответы на вопрос 3
Этот список файлов можно просмотреть и проанализировать для дальнейших действий, таких как синхронизация содержимого между двумя серверами или выполнение других операций в зависимости от вашей задачи. При необходимости вы можете изменить параметры команды rsync для настройки сравнения и синхронизации файлов под свои требования.
find ./ -type f -exec md5sum "{}" + | sort -k 2 > checklist.chk 
Воспользуйтесь командой find для поиска всех файлов в текущей директории и ее поддиректориях, выполните вычисление контрольных сумм md5sum для каждого файла и передайте результат в сортировку по второму столбцу. Затем перенаправьте отсортированный список в файл checklist.chk для его сохранения.

Для сравнения двух файлов, созданных ранее, используйте утилиту diff.
Похожие вопросы