备份管理
您可以随时使用Cloud Console中的 Backup 按钮或使用magento-cloud snapshot:create
命令执行活动Starter环境的手动备份。
备份或 快照 是对环境数据的完整备份,包括来自正在运行的服务(MySQL数据库)的所有永久数据以及存储在装入卷(var、pub/media、app/etc)上的任何文件。 快照 不 包含代码,因为代码已存储在基于Git的存储库中。 无法下载快照的副本。
备份/快照功能 不 适用于Pro暂存和生产环境,默认情况下这些环境接收用于灾难恢复的常规备份。 有关详细信息,请参阅专业备份和灾难恢复。 与Pro暂存环境和生产环境中的自动实时备份不同,备份 不是 自动。 您有 责任手动创建备份或设置cron作业以定期创建Starter或Pro集成环境的备份。
创建手动备份
您可以从Cloud Console创建任何活动Starter环境和集成Pro环境的手动备份,或从Cloud CLI创建快照。 您必须具有环境的管理员角色。
要使用Cloud Console 创建任何Starter环境的备份:
-
登录到Cloud Console。
-
从项目导航栏中选择一个环境。 环境必须处于活动状态。
-
在 备份 视图中,单击 Backup。 此选项不适用于Pro环境。
{width="150"}
要使用Cloud Console 创建集成环境的备份:
- 登录到Cloud Console。
- 从项目导航栏中选择集成/开发环境。 环境必须处于活动状态。
- 选择右上角菜单中的 Backup 选项。 此选项适用于Starter和Pro环境。
- 单击 Yes 按钮。
要使用magento-cloud
CLI创建快照:
-
在本地工作站上,转到您的项目目录。
-
将环境分支签出到快照。
-
创建快照。
code language-bash magento-cloud snapshot:create --live
或者,您可以使用
magento-cloud backup
短命令。--live
选项使环境保持运行以避免停机。 要获取选项的完整列表,请输入magento-cloud snapshot:create --help
。示例响应:
code language-none Creating a snapshot of develop-branch Waiting for the activity ID (User created a backup of develop-branch): Creating backup of develop-branch Created backup my-snapshot [============================] 45 secs (complete) Activity ID succeeded Snapshot name: my-snapshot
-
验证最新的快照。
code language-bash magento-cloud snapshot:list
该列表返回有关快照状态的信息:
code language-none Snapshots on the project (project-id), environment develop-branch (type: development): +---------------------------+----------------------+------------+ | Created | Snapshot ID | Restorable | +---------------------------+----------------------+------------+ | 2023-03-08T17:07:01+00:00 | my-snapshot | true | +---------------------------+----------------------+------------+
恢复手动备份
您必须具有环境的管理员访问权限。 您最多有 7天 到 还原 手动备份。 恢复备份不会更改当前Git分支的代码。 以这种方式恢复备份不适用于Pro暂存和生产环境;请参阅专业备份和灾难恢复。
恢复时间因数据库的大小而异:
- 大型数据库(200 GB以上)可能需要5小时
- 中型数据库(150 GB)可能需要2.5小时
- 小型数据库(60 GB)可能需要1小时
要使用Cloud Console 还原备份:
-
登录到Cloud Console。
-
从项目导航栏中选择一个环境。
-
在 备份 视图中,从 存储 列表中选择备份。 备份功能 不 适用于Pro环境。
-
在
{width="32"}
(更多)菜单中,单击 还原。
-
查看从备份信息还原,然后单击 是,还原。
要使用Cloud CLI还原快照:
-
在本地工作站上,转到您的项目目录。
-
签出要恢复的环境分支。
-
列出所有可用的快照。
code language-bash magento-cloud snapshot:list
该列表返回有关可用快照的信息:
code language-none Snapshots on the project (project-id), environment develop-branch (type: development): +---------------------------+----------------------+------------+ | Created | Snapshot ID | Restorable | +---------------------------+----------------------+------------+ | 2023-03-08T17:07:01+00:00 | my-snapshot | true | +---------------------------+----------------------+------------+
-
使用列表中的快照ID恢复快照。
code language-bash magento-cloud snapshot:restore <snapshot-id>
恢复灾难恢复快照
要在Pro暂存和生产环境中还原灾难恢复快照,请直接从服务器导入数据库转储。
回滚代码
备份和快照 不 包含您的代码副本。 您的代码已存储在基于Git的存储库中,因此您可以使用基于Git的命令来回滚(或还原)代码。 例如,使用git log --oneline
滚动浏览以前的提交;然后使用git revert
从特定提交还原代码。
此外,您可以选择将代码存储在 非活动 分支中。 使用git命令而不是使用magento-cloud
命令来创建分支。 请参阅Cloud CLI主题中的关于Git命令。