我现在正在创建硬链接,以删除备份数据中的重复空间使用。这是在单个 NTFS 分区内。
我担心数据丢失 - 如果一个链接引用被破坏,则会完全丢失文件;如果删除一个链接引用,其他链接引用也会丢失;或者一个版本更改时多个版本也会更改。
有没有办法做到这一点,如果一个文件发生变化,就会分支文件。(如果有两个链接引用一个文件,并且其中一个发生变化,我们会得到 2 个独立文件。)
使用 Dropbox 等同步解决方案存在什么风险?
目前我只处理文件,而不是目录。
答案1
使用硬链接在文件发生变化时可以轻松分支文件:只需删除路径发生变化的文件并将更改的文件放到原处即可。硬链接指向数据,但路径独立,因此可以删除而不会影响其他硬链接或数据本身。唯一有风险的部分是直接写入硬链接后面的文件,因为这当然会更改指向该数据的所有硬链接的数据,因为所有“相同”的硬链接只有一个数据可用。因此,您需要知道内容是否已更改,如果已更改,则需要创建一个新文件。
由于您要求备份,因此无论如何都不应该出现您的问题:每次更改文件都应导致备份中出现新文件,无需任何更改,您就可以创建指向现有数据的硬链接。因此,无论如何,您的流程都需要先检查更改,我看不出您需要在哪里决定是否以及如何更改备份中的内容。备份是将现有内容保留原样,然后仅决定如何添加新内容。
一般来说,我不建议你亲自实现这些事情,因为这太复杂了,而且很容易出错。已经有可用的解决方案来实现你的想法,例如一个名为硬链接备份。