在 Google Cloud Platform 上运行每日备份

在 Google Cloud Platform 上运行每日备份

我有一个在 Google Cloud 上运行的系统。该系统有一个 DB VM 和运行后端服务器 VM 的实例组。所有 VM 都使用cos-stableVM 映像,并运行包含其逻辑的单个 docker 容器。

DB VM 运行包含 MariaDB 数据库的 docker 镜像。

我想运行一个每日作业,备份数据库并将其存储在存储桶中。我不确定该如何处理。我没有可以处理 cronjobs 的虚拟机,也不想让另一台虚拟机一直运行,只是为了每日备份。此外,我想使用 FUSE 将存储桶安装到备份虚拟机,而不是使用 Google API 写入存储。

我是否可以在其中一个 cos-stable VM 上设置 FUSE 和 cronjob?如果不行,我是否可以拥有一个每天启动然后自行关闭的 VM?我在 Google Cloud Console 上找到的调度程序用于应用引擎或发布/订阅通知,而不是用于启动 VM。

答案1

理想情况下,您应该将数据库放在 Cloud SQL 上并利用其自动备份功能。

或者,您可以设置一个 cronjob 来运行 mysqldump 命令并备份它。

实现该目标的一个选择是:

  1. 使用适当的 MySQL 客户端和运行以下脚本的备份创建虚拟机映像:mysqldump连接到您的 MariaDB 实例并将其保存到 Cloud Store bucket - 您可以将此脚本设置为在启动时运行,然后关闭实例

  2. 创建一个云功能启动或运行将要执行备份例程的虚拟机

  3. 创建一个云调度器每天在特定时间触发 Cloud Function 的作业

相关内容