ised-isde / remote-manage
远程站点管理
Requires
- aws/aws-sdk-php: ^3.155
README
作者:Duncan Sutter, Samantha Tripp 和 Michael Milette
首次发布:2020年7月 - https://github.com/ised-isde-canada/remote-manage
许可证:MIT
注意:这是文档的初始草案。
此脚本是远程管理的入口点。操作包括
- 备份
- 恢复
有关更多信息和其他选项,请参阅帮助文件。
该脚本已与Moodle和Drupal站点进行测试。备份功能仅包括您的应用程序、数据文件和数据库,不包括操作系统。
贡献
有关贡献的更多信息,请参阅CONTRIBUTING.md。
编码指南
请遵循https://www.php-fig.org/psr/中的PHP标准建议。
安装
依赖
- PHP 7.3或7.4(未来可能支持PHP 8.x)
- PostgreSQL 9.6/10.2或更高版本(未来可能支持MySQL/MariaDB)
- AWS S3桶
- Composer
- Info-ZIP 64位
- Drush(仅限Drupal需要)
- 仅在与RedHat 8 Linux进行了测试,但可能与其他系统兼容。
您还需要足够的空余空间,在/tmp区域中至少达到您的应用程序、数据文件和数据库导出所使用空间的120%,以便存储临时备份文件。
使用composer
安装使用(composer)[https://getcomposer.org.cn/]
composer require ised-isde/remote-manage
配置
您可以使用命令行备份、列出备份和恢复应用程序的备份。在您能够进行任何操作之前,您需要设置环境变量,以便您的宿主可以与S3桶通信。相应地设置以下变量
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_S3_BUCKET
AWS_S3_REGION
还要设置一个名为APP_NAME的环境变量,该变量将作为备份文件名的部分使用。
为了备份和恢复带数据库的应用程序,您需要设置以下环境变量
DB_HOST
DB_USERNAME
DB_PASSWORD
DB_NAME
DB_PORT
如果没有设置,Remote Manage将跳过备份数据库。
为了备份和恢复应用程序文件,设置以下环境变量
HOME - set to your application's webroot.
MOODLE_DATA_DIR - set to the moodledata directory (for Moodle only).
如果没有设置,Remote Manage将跳过备份所有文件。
您可以通过将RM_TEMP环境变量设置为其他目录路径来指定备份文件的临时存储位置。如果没有指定,将使用/tmp。
使用
备份和恢复您的应用程序
注意:目前仅支持Moodle备份应用程序文件。
要备份您的应用程序
php vendor/ised-isde/remote-manage/manage backup <app-name>
要获取先前备份的列表
php vendor/ised-isde/remote-manage/manage s3list <app-name>
要恢复
php vendor/ised-isde/remote-manage/manage restore <backup-file-in-s3-bucket>
故障排除
请务必检查--verbose选项。请参阅帮助文件。
版权
版权所有 2020-2021 Duncan Sutter, Samantha Tripp 和 Michael Milette
特此授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的任何人免费使用权,以不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供方提供软件的人这样做,但受以下条件的约束
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、适用于特定目的和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他行为,无论此类索赔、损害或其他责任是否源于、因之或与软件或软件的使用或其他方式有关。