2作者: datastack6 个月前
我最近想出了一个备份策略,它看起来非常简单,我猜想它肯定已经存在了——但我还没有在任何主流工具中看到它。 这个想法是: 最新的备份(带时间戳)始终包含当前源状态的完整副本。 任何先前的备份都存储为增量:与下一个(较新)版本相比,已删除或修改的文件。 没有版本号——只有时间戳。可以自然地插入新版本。 每次备份时: 1. 将当前源与最新备份进行比较。 2. 对于已更改或已删除的文件:将它们移动到新的增量文件夹(带时间戳)。 3. 对于新/更改的文件:仅在需要时将它们复制到最新的快照文件夹中。 4. 可选地轮换旧的增量以保持历史记录的可管理性。 这意味着: 最新的备份始终是可用的完整快照(快速恢复)。 可以通过应用反向增量来重建以前的版本。 如果源完好无损,系统会自我修复:损坏的备份将在下次运行时被替换。 只需要一个完整副本,就像一个版本化的 rsync 镜像。 随着时间的推移,丢失旧版本的影响很小。 它对用户友好,因为可以使用常规的文件资源管理器浏览最新的备份。 示例: 初始备份: latest/ a.txt # "Hello" b.txt # "World" 第二天,a.txt 被更改,b.txt 被删除: latest/ a.txt # "Hi" backup-2024-06-27T14:00:00/ a.txt # "Hello" b.txt # "World" 最新版本始终在 latest/ 中,可以通过反向应用增量来重建以前的版本。 我很好奇:这之前是否以其他名称完成过?我是否忽略了使其在实际工具中不切实际的边缘情况? 很想听听你的想法。