У меня есть два сервера, которые должны иметь одинаковую настройку, за исключением известных различий.
Запустив:
find / \( -path /proc -o -path /sys -o -path /dev \) -prune -o -print | sort > allfiles.txt
Я могу найти список всех файлов на одном сервере и сравнить его со списком файлов на другом сервере. Это покажет мне различия в именах файлов, которые находятся на серверах.
То, что я действительно хочу сделать, это запустить контрольную сумму для всех файлов на обоих серверах и сравнить их, чтобы также найти, где содержимое отличается. например
find / \( -path /proc -o -path /sys -o -path /dev \) -prune -o -print | xargs /usr/bin/sha1sum
Это разумный способ сделать это? Я думал, что rysnc уже обладает большей частью этой функциональности, но можно ли ее использовать для предоставления списка отличий?
-print0
вместо-print
иxargs -0
вместоxargs
. Вы избежите проблем, вызванных «нечетными» именами файлов.