我有一個在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