здесь мы можем видеть, что md5sums этих двух каталогов различны, как определить, являются ли структуры папок или некоторые определенные файлы причиной этой разницы?

[skynet]~> ssh evn-web04 'find  /www/web/prod/evn.tumo.lab -type f -exec md5sum {} \; |sort -k 34 | md5sum'


Ubuntu 14.04.4 LTS evn-web04.tumo.lab ssh-pty

f247a2e41cf54f14cefe83b8872ae862  -

[skynet]~> ssh evn-web03 'find  /www/web/prod/evn.tumo.lab -type f -exec md5sum {} \; |sort -k 34 | md5sum'
Ubuntu 14.04.4 LTS evn-web03.tumo.lab ssh-pty

53413a49fb754210666f4292e8b9ee14  -

3 ответа3

1

Создайте список файлов на одном сервере и проверьте его на другом. Повторите с серверами в обратном порядке и сопоставьте списки.

Сначала соберите список файлов и соответствующих им хэшей на evn-web04:

ssh evn-web04 'find  /www/web/prod/evn.tumo.lab -type f -exec md5sum {} \;'

Во-вторых, передайте это той же хэш-утилите на evn-web03, передав --check , и отфильтруйте все, что не идентично:

ssh evn-web04 'find  /www/web/prod/evn.tumo.lab -type f -exec md5sum {} \;' | \
ssh evn-web03 "md5sum --check - | grep -vE ': OK$'"

Это даст вам список файлов, которые:

  • существуют на evn-web04, но не существуют на evn-web03, или
  • существуют на evn-web04 и различаются между evn-web04 и evn-web03

Чтобы получить полный список различий, вам также необходимо изменить порядок серверов (поскольку в evn-web03 могут существовать файлы, которых нет в evn-web04, которые не будут восприняты как есть). Просто повторите те же команды, но поменяйте местами имена серверов.

1

Следующая строка будет делать:

diff <(find /path/to/dir -type f -exec su -c 'echo -n {}; md5sum {}' \;) \\
 <(ssh me@remote find /path/to/dir -type f -exec su -c 'echo -n {}; md5sum {}' \;)

Часто недооценивают, что такого рода задачи могут быть выполнены с помощью одной команды, благодаря замене процесса.

1

Моей первой мыслью было использовать

rsync ... --dry-run path user@remote:/path 

Со страницы руководства

-n, --dry-run               perform a trial run with no changes made

Rsync сообщит о любых файлах, которые отличаются

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .