burst / d8_s3_backup
从平台.sh上托管的Drupal 8创建备份,并将其同步到S3。
该软件包的官方仓库似乎已不存在,因此软件包已被冻结。
dev-master
2018-01-31 11:11 UTC
This package is not auto-updated.
Last update: 2024-02-18 01:55:24 UTC
README
此存储库可以安装到在平台.sh上运行的每个Drupal 8项目中。它将自动每晚备份文件系统和数据库 并允许您使用单个命令恢复文件系统或数据库。
安装
将此存储库克隆到 <project_root>/bin
。
AWS S3
待办事项
- 创建用户
- 创建策略
- 创建存储桶
- 启用对象版本控制
- 查找AWS凭证
设置
- 在 aws 上创建一个存储桶。
- 存储桶名称:平台名称
- 区域:欧盟(伦敦)
- 点击“下一步”
- 启用版本控制属性 --> 点击版本控制 --> 启用版本控制
- 点击“下一步”
- 点击“下一步”
- 点击“创建存储桶”
- 您已创建存储桶,现在在 IAM 上为此存储桶创建一个用户。
- 点击“添加用户”
- 用户名:存储桶名称 + -drupal
- 启用复选框“程序访问”
- 点击“下一步:权限”
- 点击“直接附加现有策略”块
- 点击“创建策略”
- 您正在创建策略
- 点击“选择服务” --> 搜索S3 --> 点击S3
- 点击“选择操作” --> 启用复选框“所有S3操作”
- 点击“资源” --> 在存储桶选项卡下点击“添加ARN” --> 在“存储桶名称”中添加存储桶名称 --> 点击“保存更改” --> 在对象选项卡下启用复选框“任何”。
- 您已完成策略 --> 点击“审查策略”
- 名称:存储桶名称,描述留空
- 点击“创建策略”
- 您已创建策略,可以关闭此网页标签。
- 点击“刷新”
- 搜索策略名称(存储桶名称)
- 启用您要添加的策略左侧的复选框
- 点击“下一步:审查”
- 点击“创建用户”
- 恭喜,您已创建用户。复制访问密钥和秘密访问密钥,您需要这些密钥来设置环境变量。
Platform.app.yaml
您需要在 <project_root>/platform.app.yml
中添加一些配置以安装和定期运行脚本。
定时任务
crons:
backup:
spec: '0 4 * * *'
cmd: '/bin/bash -e bin/S3/backup.sh'
注意:您可以通过编辑 spec
来管理备份运行的时间。上面的示例每晚04:00运行。
钩子
hooks:
build: /bin/bash -e bin/S3/install.sh
环境变量
以下环境变量需要添加到platform.sh
env:WEBROOT
- 执行drush命令的webroot(通常是/app/web
)env:S3_BUCKET
- 存储备份的S3存储桶名称env:AWS_ACCESS_KEY_ID
- 用于验证的AWS访问密钥IDenv:AWS_SECRET_ACCESS_KEY
- 用于验证的AWS秘密访问密钥env:S3_BACKUP_FILESYSTEM_ENABLED
- 1(开启)或0(关闭)env:S3_BACKUP_DATABASE_ENABLED
- 1(开启)或0(关闭)
使用方法
备份
备份每晚自动执行。数据库备份按时间戳存储在文件名中。文件备份由AWS S3存储桶版本管理。
TODO: 手动备份
- 手动备份文件系统:
命令
。 - 手动备份所有数据库:
命令
。若仅备份单个站点的数据库,请添加标志--site=<站点名>
TODO: 恢复
- 恢复文件系统:
命令
。 - 恢复所有数据库:
命令
。若仅恢复单个站点的数据库,请添加标志--site=<站点名>