-1

Я использовал дедупликатор файлов в большой папке с сотнями тысяч файлов. Дедупликатор создал жесткие ссылки для всех обнаруженных дубликатов файлов.

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

Я не хочу принимать то, что происходит, основываясь на эмпирических данных, полученных в случае теста с несколькими файлами. Я хочу точно знать, какой процесс задействован, чтобы узнать, существует ли риск повреждения файла по различным причинам, таким как прерывание питания или другое нежелательное прерывание.

2 ответа2

2

rsync - это хороший инструмент, который вы можете использовать для рекурсивного копирования каталога в другой. Когда rsync -a Dir1/ Dir2 обнаруживает файлы с одинаковыми именами, он сначала * отменяет связь с файлом, копирует во временный файл и переименовывает файл в исходное имя. Если оно прервано, вы не потеряете файлы, которые не потеряли бы, если бы команда завершилась. Просто снова запустите ту же команду rsync, чтобы завершить ее.

* Unlink означает удалить, не касаясь содержимого файла. Другие жесткие ссылки не затрагиваются.

Если вы используете аргумент --inplace , он может плохо работать с файлами с жесткими ссылками , как более подробно описано в man rsync . Так что не используйте это.

Я копирую более 400 ГБ в ~ 200000 файлов в нескольких сетевых файловых системах SSH с дедупликацией жестких ссылок в файловую систему ext4 в операционной системе Ubuntu. Я не потерял ни одного файла, даже с перерывами в сети и другими перебоями. Нет опыта в Unix.

0

Конечно, существует риск повреждения файла для основных (неуказанных) операций файловой системы в неопределенной файловой системе, даже без учета всей гаммы возможных аппаратных сбоев.

Убедитесь, что у вас есть хорошие резервные копии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .