Cloudberry Backup由於備份文件時,會在本地創建一個SQLite的數據庫,路徑:C:\ProgramData\CloudBerryLab\CloudBerry Backup\data,隨着時間累積,這個數據庫會變得越來越大,從而影響備份的效率,因爲每次都需要掃描對比文件夾中的文件與數據庫的記錄,如圖,此時的數據庫已經達到18GB
諮詢客服沒有解決方法,唯一的是壓縮此文件,可以使用命令實現:
cd/d "C:\Program Files\CloudBerryLab\CloudBerry Backup"
cbb database -shrink
做成腳本自動運行,但是發現效用不大,因此自己摸索,既然是SQLite,那麼用相關的數據庫軟件打開,然後使用SQL命令刪除舊記錄是否可行?目前的備份策略是隻在本地保留最近一週的數據,對於過期的數據已經刪除,因此可以刪除數據庫中超過8天的記錄,這樣就不會導致CCB(CloudBerry Backup)備份對比的時候發現文件沒有備份而重新備份導致重複的情況。嘗試後發現此法可行。下載軟件DB Browser for SQLite: https://sqlitebrowser.org/
安裝後打開db文件
然後找到各個相關的數據表開始清除,主要是cloud_files這個表的記錄
DELETE FROM cloud_files WHERE startime('%Y%m%d%H%M%S', date('now', '-10 day')) >= date_modified_utc;
或者
DELETE FROM cloud_files WHERE date_modified_utc <20200417000000
先清理記錄
然後再清出空間
VACUUM