使用 NTFS 硬链接合并完整/差异备份

使用 NTFS 硬链接合并完整/差异备份

简而言之:是否可以使用硬链接而不是物理复制来(robo)复制目录树?

我想每天在自己的目录中备份我的数据文件。现在大多数文件不会每天都更改,因此,为了加快备份速度并减少磁盘空间的使用,我的想法是使用硬链接将(第 1 天)的备份复制到(第 1 天),然后使用 robocopy 替换自昨天以来已更改的文件。这样,我只需要将完整备份复制到 USB 驱动器一次,之后我只需复制更改,并且仍然拥有包含所有文件的目录,使用硬链接与其他备份共享文件。这样,我得到了两个完整备份,但它只使用一个+差异的文件空间,并且无需特殊软件即可访问备份文件,这对我来说是一个很大的优点。

这可能吗?
是否有程序可以创建目录树中所有文件的硬链接副本?
我是否忽略了一些我不知道的陷阱?

答案1

有一种方法可以像您说的那样进行备份,但我不相信仅使用 Robocopy 就可以。

有几个程序可以对备份进行硬链接或重复数据删除,并且节省空间。

以下是我使用过或遇到过的一些程序:

  • 合并- 免费 - 虽然它不是一个“备份程序”,但它是一个批量硬链接器。
  • 硬链接备份- 免费供个人使用 - 使用硬链接
  • 复制- 免费 - (我认为可以像 rsync 一样进行重复数据删除)
  • rdiff-备份- 免费 - 像 rsync 一样进行重复数据删除

我认为 Dupemerge 可能非常适合解决您的问题。您可以让批处理文件执行 Robocopy 以将内容复制到目录(例如 d:\backups\YYYY-MM-DD)。完成该命令后,批处理文件可以在 d:\backups 上调用 Dupemerge。这将硬链接 d:\backups 内和跨所有子目录的文件。

缺点是您需要在外部留出足够的空间来保存新创建的非硬链接备份。运行 Dupemerge 后,新创建的备份将被硬链接,空间将被释放。

这将使恢复变得容易,因为每个日期的目录似乎都有一个完整的备份。

顺便说一下,如果你要使用硬链接,我喜欢链接外壳扩展。它可以帮助您了解什么不是硬链接,什么是硬链接以及它链接到什么。

我曾经遇到过其他硬链接或重复数据删除程序,但我最喜欢这些。

答案2

备份辅助会让您完全满足您的需求。它对硬链接的使用被称为“单实例存储”,但实际上它的内部是硬链接。除其他用途外,它还可用于按您要求的方式备份到 USB 驱动器,或使用 rsync 备份到远程位置。

答案3

我们为这类工作编写了自己的工具。它被称为 ntfs-hardlink-backup:https://github.com/International-Nepal-Fellowship/Windows-Tools/tree/master/ntfs-hardlink-backup

为了创建硬链接,使用了 Hermann Schinagl 的 ln 工具:http://schinagl.priv.at/nt/ln/ln.html

所以你也可以直接使用 ln。它非常强大

答案4

首先,你的逻辑就有缺陷。

如果您创建了硬链接,那怎么能称为备份呢?一旦您的文件被删除/损坏,您所谓的备份也会随之消失。您指定的所有要求通常都包含在当今的备份软件中。

PS:据我所知,NTFS 不支持硬链接。

相关内容