Google не оставляет U между серверами, и я предполагаю, что они заинтересованы управлением теплом. Всегда интересный смотреть, как крупные игроки делают задание. Вот видео одного из их центра обработки данных: http://www.youtube.com/watch?v=zRwPSFpLX8I&feature=player_embedded
Перейдите непосредственно к 4:21 для наблюдения их серверов.
Вы ищете
diff -rq (dir1) (dir2)
Подтверждение концепции:
#!/bin/sh
#create our test
mkdir -p /tmp/a/b
echo "test" >> /tmp/a/c
mkdir -p /tmp/a/d/e
echo "blah" >> /tmp/a/d/e/f #only exists here
mkdir -p /tmp/q/b
echo "testing" >> /tmp/q/c #/tmp/a/c shouldnt match
mkdir -p /tmp/q/d/e
echo "blah" >> /tmp/q/d/e/g #only exists here
diff -rq /tmp/a /tmp/q
результаты в:
Files /tmp/a/c and /tmp/q/c differ
Only in /tmp/a/d/e: f
Only in /tmp/q/d/e: g
Для нахождения дублирований, Вы одно использование:
fdupes -r1 dir1 dir2
Хотя другие дали Вам многочисленные хорошие советы, необходимо дать его он попытка также.
Если Вы используете
fdupes -rd dir1 dir2
это предложит Вам, какой файл сохранить (другие будут удалены). Чрезвычайно полезный для удаления дублирований (я действительно делал хорошее использование из него с моими фотографиями),
Примечание: да, я знаю, что вопрос не был точно об этом, но возможно он может помочь ему или другим ;)
Вы могли попробовать разность ls
:
ls A > a.txt
ls B > B.txt
diff a.txt b.txt
Ни одна команда, но это должно работать.
Классический ответ является командой 'dircmp'. Это имеет свои бородавки (передающий вывод по каналу через 'PR' для нумерации страниц его, например), но если дал бы Вам список объектов только в каталоге один или каталоге два, и затем для общих файлов, это сообщает о 'том же' или 'отличающийся' (и тип файла для нефайлов - каталоги, и т.д.).
'Разность - запрос' выглядит эквивалентным или лучше, чем вывод от 'dircmp'.
Если Вы хотите, сравнивают файлы на основе, например, размер, который можно сделать:
# ls -al DIR_1 |awk '{print $5, $9}'|sort > 1.txt
# ls -al DIR_2 |awk '{print $5, $9}'|sort > 2.txt
и, чем:
# diff 1.txt 2.txt
узнать, который файлы имеют отличающийся или пропускают. Я использовал это, когда я должен был сравнить два каталога с очень большими файлами для наблюдения, какие файлы не полностью загружаются.
Я задал несколько подобный вопрос на Переполнении стека, и ответы, которые я получил, могут представлять интерес для Вас. Я особенно интересовался нахождением недостающих файлов при сравнении двух каталогов.
Я также указал, что решение должно иметь дело с переименованными файлами (например, если файл A, который был в каталоге 1, также присутствует в каталоге 2, но был переименован, сценарий должен знать об этом).
Ответ, который я выбрал (это наверху) довольно полезен. Это могло бы быть достойное внимания как начальная точка для Вашего сценария.