硬链接可以用于备份重复数据删除目的吗?

Tho*_*ler 7 windows backup hardlink

我知道完整备份、增量备份和递减备份。但是,我想知道为什么没有人(Windows Backup、TrueImage、Paragon)似乎已经实施了以下备份算法。

它需要一个支持链接的备份介质,例如 NTFS。理想情况下,备份介质具有相同的格式,以支持所有功能,例如备用数据流 (ADS)。

  1. 第一次备份是完整备份。这会将备份介质上的所有文件复制到 \ 子文件夹中。我们称这个文件夹为L(代表“last”)。没有特殊的文件格式,只需复制文件即可。
  2. 下一次备份时,将创建一个新的 \ 子文件夹,我们称其为C(代表“当前”)。从完整备份中更改的文件将再次从源磁盘复制。未更改的文件从L移动到C并创建硬链接以从L指向C
  3. 在重复备份时,将对C和另一个新文件夹应用相同的过程。

在这个算法中有什么我想念的东西吗?

虽然我确实注意到了任何问题,但我可以看到以下优点:

  • 最后一个备份 ( C ) 始终是完整备份。要恢复备份,您只需要这一份备份。用户可以删除任何旧备份,而不会破坏恢复的可能性(完全、增量和减量备份不是这种情况)。
  • 由于链接的原因,旧备份将像完整备份一样,但占用的磁盘空间要少得多。
  • 如果用户没有删除文件,则会有完整的文件更改历史记录。但与 SVN 不同的是,可以删除旧修订。
  • 移动文件和创建链接是非常快速的操作。创建备份应该具有相应的性能。
  • 可以有选择地删除旧备份中更改的文件(例如,仅删除大文件),而不是删除完整备份

Lim*_*mer 5

HardLinkShellExtension及其“Delorean-Copy”(请参阅​​其他答案)并不是唯一的“随时可用”的解决方案。还有其他选择:


免责声明:我已经使用了除 finddupe 之外的所有上述程序,但不一定以相同的方式使用。我与任何项目都没有金钱联系、投资或任何其他联系。

  • 无耻的自插:由于上述的随机数都是 FLOSS,所以我编写了一个命令行工具,它基本上可以完成 OP 想要的操作,包括支持通过卷影复制复制正在使用的文件。可在 https://github.com/asdfjkl/yahb 获取。希望这对某人有用...... (2认同)

Dan*_* D. 1

您所描述的内容已经通过数十个包装程序(例如dirvish等)使用rsync及其选项。--link-dest=