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凭证

设置

  1. aws 上创建一个存储桶。
  2. 存储桶名称:平台名称
  3. 区域:欧盟(伦敦)
  4. 点击“下一步”
  5. 启用版本控制属性 --> 点击版本控制 --> 启用版本控制
  6. 点击“下一步”
  7. 点击“下一步”
  8. 点击“创建存储桶”
  9. 您已创建存储桶,现在在 IAM 上为此存储桶创建一个用户。
  10. 点击“添加用户”
  11. 用户名:存储桶名称 + -drupal
  12. 启用复选框“程序访问”
  13. 点击“下一步:权限”
  14. 点击“直接附加现有策略”块
  15. 点击“创建策略”
  16. 您正在创建策略
  17. 点击“选择服务” --> 搜索S3 --> 点击S3
  18. 点击“选择操作” --> 启用复选框“所有S3操作”
  19. 点击“资源” --> 在存储桶选项卡下点击“添加ARN” --> 在“存储桶名称”中添加存储桶名称 --> 点击“保存更改” --> 在对象选项卡下启用复选框“任何”。
  20. 您已完成策略 --> 点击“审查策略”
  21. 名称:存储桶名称,描述留空
  22. 点击“创建策略”
  23. 您已创建策略,可以关闭此网页标签。
  24. 点击“刷新”
  25. 搜索策略名称(存储桶名称)
  26. 启用您要添加的策略左侧的复选框
  27. 点击“下一步:审查”
  28. 点击“创建用户”
  29. 恭喜,您已创建用户。复制访问密钥和秘密访问密钥,您需要这些密钥来设置环境变量。

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访问密钥ID
  • env: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=<站点名>