Использование жестких ссылок NTFS для объединения полных / разностных резервных копий

17

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

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

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

Сэм
источник
Это можно сделать, как показано
Брайан

Ответы:

9

Есть способ делать резервные копии, как вы говорите, но я не верю с одной только 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 . Это поможет вам узнать, что не связано жестко, что и с чем связано.

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

Скотт МакКленнинг
источник
5
+1 За приличный обзор и упоминание LSE. Тем не менее, вы забыли об одном инструменте, который дает ОП почти точно то, что он хочет: ln.exeDelorean Copy ln.exe написана одним и тем же человеком, который пишет как Dupemerge, так и LSE. Все, чего не хватает, так это поддержки VSS и ... о, смотри! Вот так! ;-)
afrazier
@afrazier хороший звонок с Delorean Copy. Похоже, что у Delorean Copy есть некоторые хорошие функции, а также, что веб-сайт хорош для информации о ссылках NTFS, я должен прочитать это больше. Я удивлен лимитом 1023 ссылки на Delorean Copy, однако, вероятно, не проблема для большинства. Dupemerge будет ссылаться на другой файл по 1022 ссылкам. Я думаю, как работает Delorian Copy, было бы нежелательно ссылаться на файл, не являющийся источником? Я должен буду прочитать больше об этом. Отличное предложение.
Скотт МакКленнинг
2
Ограничение ссылки 1023 является ограничением NTFS - Атрибут счетчика ссылок записи каталога составляет всего 10 бит.
afrazier
Отличное резюме вариантов. К сожалению, ваша рекомендация не удовлетворяет первоначальному запросу автора о копировании только измененных файлов при каждом последующем резервном копировании. Похоже, ln.exeэто лучшая ставка.
Саймон Ист
Существует также расширение Link Shell от тех же производителей, ln.exeкоторые предоставляют простой способ создания таких резервных копий с помощью мыши в Windows Explorer. Он также создает временные каталоги для вас в процессе резервного копирования.
Саймон Ист
1

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

Zlika
источник
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 напрямую. Это довольно мощный

ИНДИВИДУАЛЬНЫЙ-IT
источник
Пожалуйста, процитируйте основные части ответа по ссылочной ссылке (ссылкам), так как ответ может стать недействительным, если связанные страницы изменятся.
DavidPostill
-3

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

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

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

anilmwr
источник
3
Извините, мое описание было недостаточно четким: я создаю полную копию с помощью robocopy на внешнем USB-накопителе. На следующий день я создаю копию с жесткой ссылкой, а затем заменяю все файлы, которые изменились со вчерашнего дня. Теперь у меня есть две полных копии на моем USB-накопителе, но при стоимости места один полный + один дифференциал.
Сэм
4
О, и, конечно, NTFS поддерживает жесткие ссылки.
Сэм
1
Техника, которую вы описываете, - это именно то, что rsnapshot(кажется, не работает ATM) реализует в Unixoid OS. Это определенно возможно и работает очень хорошо. К сожалению, вы rsnapshotне работаете в Windows (поэтому я пишу это только как комментарий). Но в FAQ упоминается кое-что об удаленной синхронизации клиентов Windows. Если у вас есть машины Unixoid, возможно, это подойдет вам. Я не знаю ни одного эквивалента Windows rsnapshot.
Даниэль Бёмер
Я не вижу никакой выгоды, создавая жесткие ссылки на неизмененные файлы. Программное обеспечение для резервного копирования выполняет резервное копирование на основе включения / выключения бита архива. Вы должны просто скопировать те файлы, которые были изменены с момента последнего резервного копирования. Кроме того, у меня сложилось впечатление, что ТОЛЬКО файловые системы Unix поддерживают жесткие ссылки. Спасибо, что довел это до моего сведения!
anilmwr
@Halo Думал, что это должно использоваться уже во многих местах. Жаль, что у меня нет Unix-компьютеров, поэтому мне придется ждать кого-то, кто знает об этом для Windows. Спасибо за хедз-ап!
Сэм