定時備份策略掛在每個實例上,包含啟用開關、每天執行時間和保留份數三個欄位。本文說明如何設定這三個欄位,以及一個容易被誤解的事實:關閉啟用開關不會讓已有備份變得安全。
關閉開關前,先看清楚它實際控制的範圍有多窄:
| 會發生什麼 | 不會發生什麼 |
|---|---|
| 已有備份仍按保留份數持續被自動清理,每 15 分鐘一輪,每輪最多刪除一份,直到數量降到保留份數以內 | 不會因為關閉開關就跳過清理——清理任務遍歷全部策略,不檢查開關是否打開 |
| 只是停止產生新的定時備份——每 5 分鐘一次的排程掃描只處理已啟用的策略,關閉後不再產生新備份 | 不會保留「關閉前的最後一份」或給予任何特殊豁免,清理只看數量和建立時間 |
| 如果清理當輪實例正有其它活躍工作要求(例如遷移、開機),本輪跳過,下一輪(15 分鐘後)再試 | 不會彈出二次確認,也不會發送通知——這是後台任務自動發起的刪除,操作者標記為系統 |
| 一旦被清理任務選中,刪除立即執行且不可逆,走的是與手動刪除備份相同的真實刪除路徑 | 不會有回收站或軟刪除,也不會因為底層刪除失敗而讓備份重新出現 |
- 實例此前保存過至少一次備份策略(哪怕當時是啟用狀態),資料庫裡已經有這條策略記錄。
- 保留份數大於 0——前端默認值為 7,保存時會拒絕小於等於 0 的輸入。
- 從未保存過策略的實例不受清理任務影響,因為清理任務只遍歷資料庫裡已有的策略記錄,沒有記錄就無從清理。
- 打開 計算 > 實例,進入目標實例詳情的 備份 頁籤,點擊定時備份摘要,打開策略彈層。
- 打開左側的啟用開關。開關打開後,執行時間和保留份數的編輯框才會出現——介面會提示:「先啟用左側的定時備份開關,再在這裡設定執行計劃與保留份數。」這句提示描述的是如何打開編輯入口,與舊備份是否會被清理無關。
- 設定每天執行時間和保留份數。策略摘要會隨之更新為類似「每天 03:00 · 保留 7 份」的格式。
- 點擊 保存策略。彈層會顯示更新後的下次執行時間,作為本次保存已生效的確認。
- 在同一個策略彈層,關閉左側的啟用開關。
- 執行時間和保留份數的編輯框會隨之隱藏,但之前保存的保留份數仍在資料庫裡生效,不會被清空或重置。
- 點擊 保存策略。策略摘要變為「未啟用」,但這只影響是否繼續產生新備份,不影響已有備份的清理。
設定的執行時間和實際觸發時間對不上,通常是因為背後其實是兩個獨立節奏的定時任務,而不是同一個:
| 任務 | 頻率 | 判斷依據 | 是否檢查開關狀態 |
|---|---|---|---|
| 新備份掃描 | 每 5 分鐘一次 | 到期(下次執行時間已到)且已啟用的策略 | 是——只處理啟用狀態的策略 |
| 保留份數清理 | 每 15 分鐘一次 | 該實例已完成的備份數量是否超過保留份數 | 否——遍歷全部策略,不檢查開關狀態 |
設定的「每天執行時間」決定的是目標時刻,真正觸發要等下一次 5 分鐘掃描發現「已到期」,所以實際建立時間可能比設定時間晚數分鐘。保留份數清理是完全獨立的 15 分鐘節奏,與設定的執行時間無關,也不受開關狀態影響,會一直運行到備份數量降到保留份數以內為止。
關閉定時備份開關不能保護任何一份備份。真正能阻止某份備份被清理的方法只有兩種:
- 提高保留份數,讓該實例已完成的備份數量不再超過上限。
- 把想保留的備份轉換為自定義鏡像。轉換完成後,該備份會從備份列表中移除,並作為自定義鏡像顯示,不再受保留份數清理管轄;底層資料不會被複製,儲存用量不會增加。