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


17

简短:是否可以使用硬链接(而不是物理副本)(自动)复制目录树?

我想每天对自己的数据文件进行备份,每天都在其自己的目录中。现在大多数文件每天都不会更改,所以我加快备份速度并减少磁盘空间的想法是使用硬链接将(day-1)的备份复制到(day),然后使用robocopy替换具有以下内容的文件:从昨天开始改变。这样,我只需要将完整备份复制一次到USB驱动器,之后我就可以复制更改,仍然保留包含所有文件的目录,并使用硬链接与其他备份共享文件。这样,我得到了两个完整备份,但是它仅使用一个文件空间用于一个或多个差异文件,并且无需特殊软件即可访问备份文件,这对我来说是一大好处。

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


Answers:


9

有一种方法可以像您所说的那样进行备份,但是我不相信仅Robocopy可以做到。

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

这是我使用或运行过的一些程序:

  • Dupemerge免费-虽然不是“备份程序”,但它是一个大量的硬链接程序。
  • 硬链接备份硬链接 -免费供个人使用-使用硬链接
  • 重复的免费-(我相信像rsync一样的)
  • rdiff备份 backup-免费-像rsync这样的重复数据删除

我相信Dupemerge可能是最适合您的问题。您可能需要执行Robocopy的批处理文件,将内容复制到目录(例如d:\ backups \ YYYY-MM-DD)。完成该命令后,批处理文件可以在d:\ backups上调用Dupemerge。这将硬链接d:\ backups的所有子目录中的文件。

这样做的缺点是您将需要在外部上有足够的空间来容纳新创建的非硬链接备份。运行Dupemerge之后,将对新创建的备份进行硬链接并释放空间。

由于每个已注明日期的目录似乎都具有完整备份,因此恢复起来很容易。

附带说明一下,如果您要使用硬链接,我喜欢Link Shell Extension。它可以帮助您知道哪些不是硬链接,什么是硬链接以及链接到什么。

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


5
+1进行了体面的综述并提到了LSE。但是,您忘记了提供OP几乎完全所需的单个工具:ln.exe的Delorean Copy ln.exe由同时编写Dupemerge和LSE的同一人编写。缺少的只是VSS支持,... 哦,瞧!开始了! ;-)
afrazier 2011年

@afrazier与Delorean Copy打个好电话。看起来Delorean Copy具有一些不错的功能,而且该网站对于NTFS链接信息也非常有用,我应该多读一点。我对Delorean Copy的1023链接限制感到惊讶,但是,对于大多数人来说,这可能不是问题。Dupemerge将通过1022链接链接到另一个文件。我猜不希望使用Delorian Copy的工作方式,即链接到非源文件吗?我将不得不阅读更多内容。很棒的建议。
Scott McClenning

2
1023链接限制是NTFS限制-目录条目的链接计数器属性只有10位。
afrazier 2011年

选项的摘要。不幸的是,您的建议并不能满足原始发布者的要求,即仅在每个后续备份中复制更改的文件。听起来ln.exe是更好的选择。
西蒙·伊斯特

该厂商还提供了Link Shell扩展ln.exe它们提供了一种简单的方法来使用Windows资源管理器中的鼠标进行此类备份。它还在备份过程中为您创建带时间戳的目录。
西蒙·伊斯特

1

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


1

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

为了创建硬链接,它使用Hermann Schinagl的ln工具: http

因此,您也可以直接使用ln。它非常强大


请在参考链接中引用答案的关键部分,因为如果链接页面发生更改,答案可能会失效。
DavidPostill


-3

首先,您的逻辑存在缺陷。

如果创建硬链接,那怎么可以称为备份?一旦您的文件被删除/损坏,所谓的备份也是如此。您今天指定的所有备份软件通常都可以满足您的要求。

PS:NTFS不支持AFAK硬链接。


3
抱歉,我的描述不够清楚:我在外部USB驱动器上使用robocopy创建了完整副本。对于第二天,我将创建一个硬链接副本,然后替换自昨天以来更改过的所有文件。现在,我的USB驱动器上有两份完整的副本,但是要花一份完整的费用和一份差异的空间。
山姆

4
哦,当然,NTFS支持硬链接。
山姆

1
您描述的技术正是rsnapshot在Unixoid OS中实现的(似乎是在ATM之上)。这绝对是可能的,并且效果很好。不幸的是,因为您rsnapshot不能在Windows上运行(这就是为什么我仅将其写为注释)。但是常见问题解答中提到了有关远程同步Windows客户端的内容。如果您周围有Unixoid机器,那么这可能对您有用。我不知道Windows的任何等效版本rsnapshot
DanielBöhmer

通过创建指向未更改文件的硬链接,我看不到任何收获。备份软件根据存档位的开/关进行备份。您应该只复制自上次备份以来已修改的文件。另外,我的印象是只有Unix文件系统支持硬链接。感谢您通知我!
anilmwr 2011年

@Halo认为它应该已经在很多地方使用了。可惜我周围没有Unix计算机,所以我必须等Windows的人知道这一点。感谢您的单挑!
山姆
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.