sam152 / platform-backup
v0.0.8
2024-02-07 07:25 UTC
Requires
- php: >=8.1
- aws/aws-sdk-php: ^3
- monolog/monolog: ^3
- platformsh/config-reader: ^2
Requires (Dev)
- phpspec/prophecy-phpunit: ^2
- phpunit/phpunit: ^10.0
README
警告:备份的质量取决于您上次测试恢复的时间。所有备份系统都应该定期监控和测试。
脚本
自动备份脚本,用于拉取数据库,压缩并同步到S3存储桶。专为Platform.sh设计。
安装
您可以选择克隆此仓库并将其用作自己的项目,或者将其作为依赖项添加到现有项目中。
composer require sam152/platform-backup
设置
- composer install
- 创建具有写入权限的S3存储桶的IAM用户。
- 将备份目录添加到 .platform.app.yaml
mounts:
"/backups": "shared:files/backups"
-
在Platform.sh中添加环境变量。请确保添加 "env:" 前缀。
- env:AWS_ACCESS_KEY_ID
- env:AWS_SECRET_ACCESS_KEY
- env:S3_BUCKET (您创建的存储桶名称)
- env:AWS_REGION (可选,默认为us-east-1)
-
将composer install添加到 .platform.app.yaml
hooks:
build: |
composer install --working-dir=./jobs
- 将 'example_backup_script.php' 复制到 './jobs/backup.php' 并根据您的需求进行修改。
- 使用:php ./jobs/backup.php 部署和测试
- 将cron任务添加到 .platform.app.yml
db_backup:
spec: "0 0 * * *"
cmd: "php ./jobs/backup.php"
注意,您可能需要根据您的安装方式更新cmd指向的位置。
致谢
改编自 https://github.com/benjy/platform-backup,该脚本改编自 https://bitbucket.org/snippets/kaypro4/gnB4E,并受到 https://gitlab.com/contextualcode/platformsh-store-logs-at-s3 的启发。
许可证
任何人获得本软件及其相关文档文件(“软件”)的副本,均授予免费处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向软件提供方提供软件的人员这样做,前提是符合以下条件
上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定用途和不受侵权保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任承担责任,无论源于合同、侵权或其他方式,与软件或软件的使用或其他交易有关。