Назад | Перейти на главную страницу

Сравните файлы в структуре каталогов между двумя серверами в Linux

У меня есть две коробки Centos 7, в каждой из которых одинаковая структура папок. Файлы между ними должны быть одинаковыми.

Однако из-за проблем с репликацией я хочу проверить, какие файлы отсутствуют на сервере B, который существует на сервере A между двумя датами. Если какие-либо файлы отсутствуют, скопируйте их в другую папку на сервере A, откуда они затем будут скопированы на сервер B за один раз.

Запустите эту команду, чтобы найти файлы, измененные (например, записанные) между 10 и 5 днями назад, например. на сервере А

cd /identic/directory/
find . -type f -mtime -10 -mtime +5  > /tmp/files_A.txt

Сделайте то же самое на сервере B, за исключением очевидного имени файла /tmp/files_B.txt

Скопируйте один из файлов в папку / tmp другой системы и запустите

cd /tmp
diff files_[AB].txt  | less -X

Это даст вам недостающие файлы.

Если вы хотите проверить размеры файлов и время модификации, добавьте параметр «-ls», чтобы найти:

find . -type f -mtime -10 -mtime +5  -ls > /tmp/files_A.txt

Возможно, вам придется поиграть с количеством дней, они отсчитываются от текущего времени (!), А не дня.