Google-Cloud-Platform

在 Google Cloud Platform 上執行每日備份

  • March 14, 2022

我有一個在 Google Cloud 上執行的系統。該系統有一個執行後端伺服器虛擬機的數據庫虛擬機和實例組。所有 VM 都使用cos-stableVM 映像,並執行一個包含其邏輯的 docker 容器。

DB VM 執行一個包含 MariaDB 數據庫的 docker 映像。

我想執行一個備份數據庫並將其儲存在儲存桶中的日常作業。我不知道如何解決這個問題。我沒有可以處理 cronjobs 的 VM,我不想讓另一個 VM 一直在執行,只是為了日常備份。此外,我想使用 FUSE 將儲存桶掛載到備份 VM,而不是使用 Google API 寫入儲存。

我可以在其中一個成本穩定的 VM 上設置 FUSE 和 cronjob 嗎?如果沒有,我可以擁有一個每天啟動然後自行關閉的虛擬機嗎?我在 Google Cloud Console 上找到的調度程序用於應用程序引擎或發布/訂閱通知,而不是用於啟動 VM。

理想情況下,您應該將數據庫放在 Cloud SQL 上並利用其自動備份功能。

或者,您可以設置一個 cronjob 來執行 mysqldump 命令並備份它。

實現它的一種選擇是:

  1. 使用適當的 MySQL 客戶端和執行連接到 MariaDB 實例的mysqldump的備份腳本創建 VM 映像並將其保存到 Cloud Store 儲存桶 - 您可以將此腳本設置為在啟動時執行並在之後關閉實例
  2. 創建一個雲函式以啟動或啟動將執行備份常式的 VM
  3. 創建一個Cloud Scheduler作業以在每天的特定時間觸發您的 Cloud Function

引用自:https://serverfault.com/questions/1094619