15

Коротко: возможно ли (робо) копировать дерево каталогов, используя жесткие ссылки вместо физического копирования?

Я хочу делать ежедневные резервные копии моих файлов данных, каждый день в своем собственном каталоге. Теперь большинство файлов не меняются каждый день, поэтому моя идея ускорить резервное копирование и использовать меньше дискового пространства состояла в том, чтобы скопировать резервную копию (день-1) в (день), используя жесткие ссылки, а затем использовать robocopy для замены файлов, которые имеют изменилось со вчерашнего дня. Таким образом, мне нужно будет всего лишь скопировать полную резервную копию один раз на USB-накопитель, после чего я могу просто скопировать изменения и по-прежнему иметь каталоги, содержащие все файлы, обмениваться файлами с другими резервными копиями с помощью жестких ссылок. Таким образом, я получил две полные резервные копии, но он использует только файловое пространство для одного + дифференциал, и файлы резервных копий доступны без необходимости специального программного обеспечения, что для меня большой плюс.

Это возможно?
Существует ли программа для создания копий жестких ссылок всех файлов в дереве каталогов?
Я пропускаю какую-то ловушку, о которой я не знаю?

4 ответа4

8

Есть способ делать резервные копии, как вы говорите, но я не верю с одной только Robocopy.

Есть несколько программ, которые будут жестко связывать или дедуплицировать резервные копии, и будут экономить место.

Вот несколько программ, которые я использовал или на которых наткнулся:

  • Dupemerge - free - Хотя это и не "программа резервного копирования", это массивный жесткий компоновщик.
  • резервное копирование по жесткой ссылке - бесплатно для личного использования - использует жесткие ссылки
  • Duplicati - free - (я полагаю, что дедуплицирует как rsync)
  • rdiff-backup - free - дедуплицирует как rsync

Я считаю, что на ваши вопросы хорошо подойдет Dupemerge. У вас может быть пакетный файл для выполнения Robocopy, чтобы скопировать содержимое в каталог (например, d:\backups\YYYY-MM-DD). Когда эта команда будет выполнена, командный файл может вызвать Dupemerge для d:\backups. Это жестко связало бы файлы внутри и во всех подкаталогах d:\backups.

Недостатком этого является то, что вам потребуется достаточно места на внешнем устройстве для хранения вновь созданной несвязанной связанной резервной копии. После запуска Dupemerge вновь созданная резервная копия будет жестко связана, и пространство будет освобождено.

Это упростит восстановление, так как у каждого устаревшего каталога будет полная резервная копия.

В качестве примечания: если вы собираетесь использовать жесткие ссылки, мне нравится Link Shell Extension. Это поможет вам узнать, что не связано жестко, что и с чем связано.

Я сталкивался с другими программами с жесткими ссылками или дедупликацией, но мне они больше понравились.

1

BackupAssist позволит вам именно то, что вам нужно. Его использование жестких ссылок называется "Single Instance Store", но на самом деле это жесткие ссылки под капотом. Его можно использовать, помимо прочего, для резервного копирования на USB-накопители, как вы просили, или в удаленные места с помощью rsync.

1

Мы написали свой собственный инструмент для такой работы. Это называется ntfs-hardlink-backup: https://github.com/International-Nepal-Fellowship/Windows-Tools/tree/master/ntfs-hardlink-backup.

Для создания жестких ссылок используется инструмент ln Германа Шинагла: http://schinagl.priv.at/nt/ln/ln.html

Так что вы также можете использовать ln напрямую. Это довольно мощный

-3

Во-первых, в вашей логике есть изъян.

Если вы создаете жесткие ссылки, как это можно назвать резервной копией? как только ваш файл будет удален / поврежден, ваша так называемая резервная копия тоже пойдет по этому пути. Все указанные вами требования обычно охватываются современным программным обеспечением для резервного копирования.

PS: NTFS не поддерживает жесткие ссылки AFAK.

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