文件归档:先证明能够恢复,再移除原件
一次归档实践中的白名单、内容比对与反向校验,以及如何处理仍在变化的源文件。
本页目录
清理从明确范围开始
2026 年 9 月的一次文件归档,我采用了先复制、再校验、最后移除原件的顺序。操作对象来自明确的白名单,运行中的虚拟机与其他受保护内容排除在外。这样,哪些文件可以处理、哪些文件必须保留,在复制开始前就已经确定。
归档的目的包含恢复能力。目标位置出现一个压缩包,只能说明生成了文件,还需要证明包内内容可读取,并且对应正确的源文件。
分别检查包装与内容
当次操作先检查归档包的结构完整性,再进行递归内容比对。两种检查解决不同问题:前者确认归档可以读取,后者确认文件内容与来源一致。清单和校验和也一并保留,方便以后定位归档及检查完整性。
核验通过后,原件才移动到带日期的废纸篓目录。这个中间状态保留了一条直接恢复路径。当次没有把“已经归档”理解为可以立即清空所有原件,也没有顺带处理原有废纸篓中的其他内容。
移动之后仍要核对
移除原件之后又做了一次反向验证,确认废纸篓中的原件和已经完成的归档相符。它可以检查移动过程中是否遗漏,也让恢复路径不只存在于操作说明里。
这一步的思路很简单:任何会改变原件位置的操作,都可能引入新的差异。此前复制正确,不代表后续移动一定完整,所以检查应放在真正的最后一次变化之后。
特别处理仍在写入的来源
这次归档遇到了自动生成的新文件。源目录在处理期间发生变化,原先通过的校验便不能覆盖新内容。处理方式是识别新增文件,单独归档并重新验证,而不是沿用之前的成功结论。
对于持续写入的数据,归档需要一个明确的时间边界。无法取得稳定副本时,应保留原件并继续处理差异,直到能说明归档包含了什么。
让恢复路径成为交付的一部分
最终交付不仅是释放空间,还应包括清楚的归档清单、可用的副本和经过核对的原件位置。具体工具可以变化,这个顺序值得保留:确定范围,复制内容,验证一致,再移动原件。它让一次清理在结束时仍然保有回头的能力。