建立及管理隨選和自動備份

此頁面說明如何排定自動備份時程與停用自動備份、建立及管理隨選備份,以及查看 Cloud SQL 執行個體的備份。

如想深入瞭解備份的運作方式,請參閱備份總覽一文。

建立隨選備份

建立隨選備份:

主控台

  1. 前往 Google Cloud Platform 主控台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。

    前往 Cloud SQL 執行個體頁面

  2. 按一下執行個體開啟它的「總覽」頁面。
  3. 按一下 [備份] 分頁標籤。
  4. 按一下 [建立備份]
  5. 在 [Create backup] (建立備份) 頁面上,視需要新增說明並點選 [Create] (建立)

gcloud

建立備份:

gcloud sql backups create --async --instance [INSTANCE_NAME]

您可以使用 --description 參數提供備份的說明。

cURL

建立備份:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Length: 0' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/backupRuns

排定自動備份時程

為執行個體排定自動備份時程:

主控台

  1. 前往 Google Cloud Platform 主控台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。

    前往 Cloud SQL 執行個體頁面

  2. 選取您要為其設定備份的執行個體。
  3. 按一下 [編輯]
  4. 在「備份」區段中,勾選 [啟用自動備份功能],並選擇備份時間。
  5. 按一下 [儲存]

gcloud

  1. 編輯執行個體以指定備份開始時間:
    gcloud sql instances patch [INSTANCE_NAME] --backup-start-time [HH:MM]
    「backup-start-time」參數會以 24 小時制指定在 UTC±00 時區中,並指定 4 小時備份時間的開始。 備份可以在備份時間內隨時開始。
  2. 確認變更:
    gcloud sql instances describe [INSTANCE_NAME]
    backupConfiguration 底下,您應會看見 enabled: true 與您指定的時間。

cURL

修補執行個體以排定自動備份時程:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"settings" :
             {"backupConfiguration" : {"startTime": "[HH:MM]", "enabled": true}}}' \
     -X PATCH \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]

您可在 backupConfiguration 物件內將 binaryLogEnabled 設為 true 以在相同時間啟用二進位檔記錄。

停用自動備份

為執行個體停用自動備份:

主控台

  1. 前往 Google Cloud Platform 主控台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。

    前往 Cloud SQL 執行個體頁面

  2. 選取您要為其停用備份的執行個體。
  3. 按一下 [編輯]
  4. 在「備份」區段中,取消勾選 [啟用每日自動備份功能]
  5. 按一下 [儲存]

gcloud

編輯執行個體以停用備份:

gcloud sql instances patch [INSTANCE_NAME] --no-backup

cURL

修補執行個體以停用備份:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" 
--header 'Content-Type: application/json'
--data '{"settings" : {"backupConfiguration" : {"enabled": false, "binaryLogEnabled": false}}}'
-X PATCH
https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]

設定及檢視自訂備份位置

目前您只能使用 API 來設定自訂備份位置。

如要設定「自動」備份的備份位置,請使用執行個體 settings.backupConfiguration.location 參數:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"name":"[INSTANCE_NAME]", "region":"[REGION]",
              "settings": {"backupConfiguration":
               {"binaryLogEnabled":true, "enabled":true, "location": "[BACKUP_REGION]"}}}' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances

您也可以使用 PATCH 執行上一個指令,藉以更新現有執行個體的備份位置。

如要設定「隨選」備份的備份位置,請使用 backupRuns location 參數:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"location":  "[PATH]"}' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/backupRuns

如要查看執行個體使用的備份位置,請使用 backupRuns:

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     -X GET \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/backupRuns

在之前的範例中:

  • REGION 是原始執行個體的所在地區。
  • BACKUP_REGION 是您要 Cloud SQL 儲存備份的所在地區。如需有效地區值的完整清單,請參閱執行個體位置

查看備份

GCP 主控台不會在備份記錄中顯示已略過或失敗的備份。如要查看已略過的備份,請使用 gcloud 指令列工具或 API。

主控台

  1. 前往 Google Cloud Platform 主控台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。

    前往 Cloud SQL 執行個體頁面

  2. 按一下執行個體開啟它的「總覽」頁面。
  3. 會在右下角顯示「近期備份」清單。

gcloud

  1. 列出執行個體的備份:
    gcloud sql backups list --instance [INSTANCE_NAME]
    

    您可以使用標準清單參數篩選及控制結果。如需完整清單,請參閱 gcloud sql  backups list 指令參考頁面。

  2. 如要列出一個備份的詳細資料,請使用 backups list 指令輸出中的 ID
    gcloud sql backups describe [BACKUP_ID] --instance [INSTANCE_NAME]
    

cURL

列出執行個體的備份:  

ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     -X GET \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/backupRuns
您也可以使用 BackupRuns:list 頁面上的 APIs Explorer 傳送 REST API 要求。

刪除備份

您可以刪除自動及隨選備份。

刪除備份所釋放的空間可能無法達到備份的大小。這是因為備份是以增量方式備份,因此刪除較舊備份可能會將其部分內容轉移到更近的備份,以保留較新備份的完整性。

主控台

  1. 前往 Google Cloud Platform 主控台的「Cloud SQL 執行個體」頁面。

    前往 Cloud SQL 執行個體頁面

  2. 按一下執行個體開啟它的「總覽」頁面。
  3. 按一下 [備份] 分頁標籤。
    會顯示現有備份清單。
  4. 對您要刪除的備份,按一下更多動作圖示 更多動作圖示。
  5. 選取 [Delete] (刪除)
  6. 在「Delete backup」(刪除備份) 視窗中,將 Delete 輸入到文字方塊中,並按一下 [Delete] (刪除)

cURL

  1. 列出備份以取得您要刪除之備份的 ID:

    列出執行個體的備份:  

    ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" 
    -X GET
    https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/backupRuns
  2. 刪除備份:
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" 
    -X DELETE
    https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/backupRuns/[BACKUP_ID]

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
PostgreSQL 適用的 Cloud SQL