我有一个在C++上运行的异地备份解决方案,将文件分解为块,并使用SQLite3数据库上的md5哈希跟踪块。它将块和数据库一起传输到远程站点。增量备份:如何跟踪文件删除
因此,当我想要执行还原时,它将查询SQLITE3数据库并相应地还原这些块。
第一次备份运行时,它会创建一个名为base_backup的大表。每个后续的文件更改或新文件都作为新记录添加到新表中。如果我想执行还原,我查询base_backup表并加上所有的差异并还原文件。
备份运行的方式是扫描给定文件夹中所有文件的归档位,如果清除,则验证记录是否已经存在于数据库中并决定是否备份或不。
回到我的问题,如果一个文件在本地计算机上被删除,我该如何跟踪它并相应地更新非现场备份?因为当我进行恢复时,我不想恢复所有的垃圾文件。无论如何知道文件是否已从文件夹中删除?我不想从数据库运行验证检查,因为它需要很长时间。
您没有使用现有备份软件的任何特定原因? – 2011-03-25 14:55:53
像他/她正在实施他/她自己的产品? – 2011-03-25 15:07:53
您是否能够快速查看过去从给定目录备份的文件? – Jonathan 2011-03-25 15:37:53