Сравните два дерева каталогов
У меня есть btrfs-файловая система, состоящая из нескольких жестких дисков, в которых хранится около 11 ТБ данных. Моя резервная копия состоит из NAS, который экспортирует один путь через NFS. Затем путь монтируется на машине с btrfs-bilesystem и вызывается rsync для синхронизации экспорта nfs с основной файловой системой. Я вызываю rsync с одним -v и отправляю результаты прогона на мою учетную запись электронной почты, чтобы убедиться, что все синхронизировано правильно. Теперь по чистой случайности я обнаружил, что некоторые каталоги не были синхронизированы правильно - каталоги существовали на NAS, но они были пусты. Скорее всего, это не проблема с правами, поскольку rsync запускается от имени пользователя root. Таким образом, кажется, что в моей ситуации rsync не совсем заслуживает доверия, но я хотел бы сравнить два дерева каталогов, чтобы увидеть, отсутствуют ли какие-либо файлы на NAS и / или есть ли файлы, которых больше нет на btrfs и которые должны были удалены rsync в соответствии с. (Я использую опцию --delete).
Поэтому я ищу программу или скрипт, который может помочь мне проверить правильность работы rsync. Мне не нужно ничего сложного, такого как контрольные суммы, все, что я хочу знать, содержит ли NAS все файлы в файловой системе btrfs.
Любые предложения, где начать искать?
Твой Стефан
1 ответ
Выполните следующие команды, чтобы получить список всех файлов:
find /path/to/fs -type f | sort > filesystem.txt
find /path/to/nfs -type f |sort > nfs.txt
Затем сравните списки:
diff -u filesystem.txt nfs.txt