Я хотел бы скопировать для резервного копирования porposes home
каталог пользователя Linux с несколькими ГБ данных и обычными файлами конфигурации. Исходный каталог и каталог резервного копирования должны иметь точнотакой жесодержимое. Операционная система — Lubuntu.
Каталог содержит скрытые файлы и подкаталоги. После некоторого гугления я обнаружил, что
cp -r /source-directory /backup-directory
была соответствующая команда.
Файловая система исходного каталога — ext4, а целевой каталог — NTFS. После копирования diff -qr /source-directory /backup-directory
не выводит ничего (поэтому, я полагаю, нет различий). Но du
, или du -b
или du --apparent-size
все всегда выводят разные результаты для исходного каталога и резервного каталога.
Почему? Была ли команда неправильной или это использование du
неправильно?
решение1
Дополнительные блоки выделяются по мере необходимости каталогам по мере добавления файлов и подкаталогов. Последующее удаление этих файлов и подкаталогов не приводит к удалению теперь пустого/повторно используемого выделения. Поэтому очень часто целевой каталог операции копирования оказывается немного меньше исходного.
diff
Если вам нужно точное подтверждение, вы можете рекурсивно проверить исходный и целевой каталоги, чтобы убедиться, что все скопировано.
Кстати, rsync
также идеально подходит для копирования структур:
rsync -avz /source-directory/ /backup-directory
Завершающий слеш в исходном каталоге означает, что имя исходного каталога не включено в резервный каталог в качестве его первого подкаталога.
Параметры -avz
указывают rsync
на необходимость копирования в режиме архивации для сохранения разрешений, владельцев, символических ссылок и т. д., используя сжатие в процессе передачи и предоставляя подробные отчеты о действиях.
решение2
Различные файловые системы могут иметь разные накладные расходы при выделении места для файлов. Также может отличаться способ хранения записей каталога. К сожалению, вы не сообщаетечторазные выходы.