差异备份缺少移动的文件夹(存档属性逻辑有缺陷)

差异备份缺少移动的文件夹(存档属性逻辑有缺陷)

最近我发现我的备份系统存在缺陷:存在丢失各种文件/文件夹的情况。

我将本地磁盘备份到网络 NAS。
我使用 Cobian 备份,并已将备份软件设置为每周创建一次完整备份,每天创建一次差异备份。

现在,备份软件(据我所知,任何备份软件都是这样工作的)通过查看文件存档属性来决定差异备份中的文件。如果设置了属性,则文件将进入备份。
现在,当您将文件移动到新位置时,在 Windows 系统上,存档属性会被设置,并且文件将包含在备份中,这很好……
但是当您移动整个文件夹时,不会设置存档属性,文件夹上也不会设置,文件夹内的任何文件也不会设置,因此移动的文件夹不包含在差异备份中

因此,如果您有一个完整备份和一个差异备份,并且您移动了文件夹……那么就不可能从完整+差异备份开始重建原始文件/文件夹结构,因为备份软件没有在差异备份中包含移动的文件夹。

所以我的差异备份毫无用处...

为什么windows在移动文件时会设置存档属性,而移动文件夹时却不会?

我该如何处理这个问题?
有没有办法创建一个按预期工作的差异备份?

每天进行完整备份是不切实际的,因为每天更改的数据约为 0.1%(通过使用差异备份,我可以保留 4 周的文件历史记录而不会占用太多的磁盘空间。)

答案1

每次文件系统对象更改时,都会重新设置存档位。如果在单个 NTFS 文件系统内移动目录,则目录对象本身及其包含的文件对象都不会改变。在此过程中唯一改变的对象是移动操作的源和目标(即移动目录的相应父目录)。但话又说回来,Windows 不会为目录设置“存档”位。

这是一个老问题,通常在备份软件中通过比较文件列表与以前备份运行的列表、查阅 NTFS 日志或使用对象的创建和修改时间戳以及查阅存档位来解决。如果 Cobian 不能正确处理这种情况,并且维护者不打算修复它,我担心你唯一剩下的选择就是购买源代码并自行修复。

如果您能够在文件移动过程中实现更改,那么您还可以复制和删除相关目录,而不是简单地在同一个文件系统内移动它们 - 执行复制操作会在目标文件上设置存档位。

相关内容