# 設定定時備份與保留份數

設定實例定時備份的執行時間和保留份數，並搞清楚關閉開關後舊備份是否還會被自動清理。

定時備份策略掛在每個實例上，包含啟用開關、每天執行時間和保留份數三個欄位。本文說明如何設定這三個欄位，以及一個容易被誤解的事實：**關閉啟用開關不會讓已有備份變得安全。**

> [!CAUTION]
> 關閉定時備份的啟用開關，只會停止產生**新的**自動備份。已經存在的備份仍然會按照之前保存的保留份數被持續自動清理，直到數量降到保留份數以內為止。這個清理過程不檢查開關是否打開，也不會彈出確認框。

_介面示意圖：定時備份策略彈層：啟用開關、每天執行時間、保留份數輸入框、下次執行時間與上次執行時間、保存策略按鈕_

## 關閉開關後，會發生什麼、不會發生什麼

關閉開關前，先看清楚它實際控制的範圍有多窄：

| 會發生什麼                                                                                     | 不會發生什麼                                                                   |
| ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| 已有備份仍按保留份數持續被自動清理，每 15 分鐘一輪，每輪最多刪除一份，直到數量降到保留份數以內 | 不會因為關閉開關就跳過清理——清理任務遍歷全部策略，不檢查開關是否打開           |
| 只是停止產生新的定時備份——每 5 分鐘一次的排程掃描只處理已啟用的策略，關閉後不再產生新備份      | 不會保留「關閉前的最後一份」或給予任何特殊豁免，清理只看數量和建立時間         |
| 如果清理當輪實例正有其它活躍工作要求（例如遷移、開機），本輪跳過，下一輪（15 分鐘後）再試      | 不會彈出二次確認，也不會發送通知——這是後台任務自動發起的刪除，操作者標記為系統 |
| 一旦被清理任務選中，刪除立即執行且不可逆，走的是與手動刪除備份相同的真實刪除路徑               | 不會有回收站或軟刪除，也不會因為底層刪除失敗而讓備份重新出現                   |

## 開始之前

- 實例此前保存過至少一次備份策略（哪怕當時是啟用狀態），資料庫裡已經有這條策略記錄。
- 保留份數大於 0——前端默認值為 7，保存時會拒絕小於等於 0 的輸入。
- 從未保存過策略的實例不受清理任務影響，因為清理任務只遍歷資料庫裡已有的策略記錄，沒有記錄就無從清理。

## 設定執行時間與保留份數

1. 打開 **計算 > 實例**，進入目標實例詳情的 **備份** 頁籤，點擊定時備份摘要，打開策略彈層。
2. 打開左側的啟用開關。開關打開後，執行時間和保留份數的編輯框才會出現——介面會提示：「先啟用左側的定時備份開關，再在這裡設定執行計劃與保留份數。」這句提示描述的是如何打開編輯入口，與舊備份是否會被清理無關。
3. 設定每天執行時間和保留份數。策略摘要會隨之更新為類似「每天 03:00 · 保留 7 份」的格式。
4. 點擊 **保存策略**。彈層會顯示更新後的下次執行時間，作為本次保存已生效的確認。

## 關閉定時備份

> [!CAUTION]
> 這一步只會停止產生新的自動備份。它不會清空已保存的保留份數，也不會暫停清理任務——已有的舊備份仍會按保留份數繼續被自動刪除。

1. 在同一個策略彈層，關閉左側的啟用開關。
2. 執行時間和保留份數的編輯框會隨之隱藏，但之前保存的保留份數仍在資料庫裡生效，不會被清空或重置。
3. 點擊 **保存策略**。策略摘要變為「未啟用」，但這只影響是否繼續產生新備份，不影響已有備份的清理。

_介面示意圖：定時備份策略彈層的關閉狀態：啟用開關處於關閉、隱藏的執行時間與保留份數編輯框、策略摘要顯示未啟用_

## 定時任務的實際節奏

設定的執行時間和實際觸發時間對不上，通常是因為背後其實是兩個獨立節奏的定時任務，而不是同一個：

| 任務         | 頻率           | 判斷依據                               | 是否檢查開關狀態                 |
| ------------ | -------------- | -------------------------------------- | -------------------------------- |
| 新備份掃描   | 每 5 分鐘一次  | 到期（下次執行時間已到）且已啟用的策略 | 是——只處理啟用狀態的策略         |
| 保留份數清理 | 每 15 分鐘一次 | 該實例已完成的備份數量是否超過保留份數 | 否——遍歷全部策略，不檢查開關狀態 |

設定的「每天執行時間」決定的是目標時刻，真正觸發要等下一次 5 分鐘掃描發現「已到期」，所以實際建立時間可能比設定時間晚數分鐘。保留份數清理是完全獨立的 15 分鐘節奏，與設定的執行時間無關，也不受開關狀態影響，會一直運行到備份數量降到保留份數以內為止。

## 如果你想真正保留某份備份

關閉定時備份開關不能保護任何一份備份。真正能阻止某份備份被清理的方法只有兩種：

- 提高保留份數，讓該實例已完成的備份數量不再超過上限。
- 把想保留的備份轉換為自定義鏡像。轉換完成後，該備份會從備份列表中移除，並作為自定義鏡像顯示，不再受保留份數清理管轄；底層資料不會被複製，儲存用量不會增加。

> [!WARNING]
> 一旦某份備份被清理任務選中並進入刪除流程，就無法中止，也沒有二次確認彈窗。想保留哪份，要在它被選中之前完成上述操作。

## 相關文檔

- [備份概覽](/zh-tw/storage/backups/)
- [建立備份](/zh-tw/storage/backups/create/)
- [將備份轉換為自定義鏡像](/zh-tw/storage/backups/convert/)
- [從備份恢復實例](/zh-tw/storage/backups/restore/)
