atomicsmash / backups
备份
Requires
- aws/aws-sdk-php: 3.24.2
This package is auto-updated.
Last update: 2024-09-25 10:48:08 UTC
README
此插件用于将WordPress网站备份到Amazon S3。
插件功能
- 数据库备份
- 保存一个带有隐晦文件名的本地数据库备份。
- 将本地数据库与S3同步。
- 删除本地副本以减少浪费的硬盘空间。
- 本地开发数据库也可以同步。
- 媒体库备份
- 上传文件夹和Amazon S3的双向同步。
- 这可以用于备份实时网站,也可以用于开发者之间同步本地开发资源。
- 即将推出:S3集成卸载 - 即将推出
- 在媒体传输完成后,您可以保存本地元数据,以便开始从S3加载资产,以便卸载S3。
功能
wp backups backup
此功能同步媒体,执行数据库备份并将数据库同步到S3。
示例
wp backups backup
- backup media and database
wp backups backup --type=media
- This just syncs your media
wp backups backup --type=database
- Use this to dump the DB and sync with S3
wp backups development_sql_sync
示例
wp backups development_sql_sync
- This checks the status of the remote development database
wp backups development_sql_sync --sync-direction=push
- This checks the status of the remote development database
- Then provides the option to overwrite the remote database with what is available locally
wp backups development_sql_sync --sync-direction=pull
- This checks the status of the remote development database
- Then provides the option to overwrite the local database with what is available on S3
安装
1. 通过导航到您的项目并在终端中运行以下命令,将Wordpress插件添加到您的composer文件中
composer require atomicsmash/backups "*"
将更改提交到您的本地composer文件。
2. 将您的S3凭证添加到您的wp-config文件中。
并将以下常量添加到您的wp-config文件中
define('BACKUPS_S3_REGION','eu-west-2'); //London
define('BACKUPS_S3_ACCESS_KEY_ID','');
define('BACKUPS_S3_SECRET_ACCESS_KEY','');
您可以通过创建一个IAM用户来获取这些详细信息。以下是我们如何设置IAM Amazon用户并获得所需访问密钥和秘密密钥的指南:我们的指南。
如果您知道您想同步的桶的名称,可以通过添加以下内容来硬编码它
define('BACKUPS_S3_BUCKET','');
将更改提交到您的配置。
3. 激活 'Backups'
现在激活您想要备份的任何网站的插件。这可以通过管理界面或运行以下命令来完成
wp plugin activate backups
如果您想备份一个实时网站,那么您可能需要通过SSH登录到服务器。
4. 测试S3连接
要测试到S3的连接,请运行以下命令
wp backups check_credentials
如果出现问题,请检查您的凭证是否被正确加载。
5. 如果检查成功,是时候创建一个全新的桶了
wp backups create_bucket <bucket_name>
bucket_name通常是您目前正在工作的网站的地址('website.local')。例如
wp backups create_bucket mywebsite.co.uk
运行上述命令将提示您:创建桶? [y/n] - 输入'y'以继续。
这将创建一个名为"mywebsite.co.uk.backup"的桶,并选择它以供使用。
6. 执行备份
要手动开始第一次备份,
wp backups backup
7. 设置自动删除SQL文件
根据您备份网站频率的不同,SQL文件将迅速积累。您可以为自动删除超过X天数的文件设置S3文件夹生命周期。
wp backups setup_autodelete_sql <number_of_days>
我们通常保留备份30天,因此我们会运行
wp backups setup_autodelete_sql 30
8. 设置自动备份(cron作业)
要定期运行备份命令,您需要设置一个cron作业。使用类似以下的内容
/usr/local/bin/wp backups backup --path=/path/to/www.website.co.uk/
如果您在项目中使用composer,那么您的WordPress核心文件可能位于一个子文件夹中,请修改路径以反映这一点。cron作业看起来像这样
/usr/local/bin/wp backups backup --path=/path/to/www.website.co.uk/wp
如果您使用forge,请简单地将其添加到服务器调度面板中
另外,如果您使用Capistrano,请务必将current添加到
/usr/local/bin/wp backups backup --path=/path/to/www.website.co.uk/current/wp
故障排除
你是否收到了类似以下错误:PHP致命错误:未捕获错误:类 'Aws\S3\S3Client' 在 /path/to/file 中未找到
请确保你正在包含由 composer 生成的 autoload.php 文件。我们通常将其添加到 wp-config 文件的顶部
require( dirname( __FILE__ ) . '/vendor/autoload.php' );
即将推出的功能
- 备份统计
- 添加了 '恢复' 功能
变更日志
= 0.1.2 =
- 为下载数据/开发 sql 文件添加了更多异常
= 0.1.1 =
- 为下载数据/开发 sql 文件添加了异常
= 0.1.0 =
- 添加了本地开发数据库备份
- 通过查找 vendor/autoload.php 文件的存在性,添加了更好的插件开发检测
- 新增了 BACKUPS_S3_BUCKET 常量,用于硬编码首选存储桶
= 0.0.5 =
- 更新了说明文档
= 0.0.4 =
- 优化了创建存储桶时的用户体验
- 已修复从 S3 同步 DB 备份到本地机器的问题
= 0.0.3 =
- 添加了 S3 脱载功能
- 添加了设置指南
- 为 SQL 文件夹添加了生命周期管理
= 0.0.2 =
- 简化了媒体传输
= 0.0.1 =
- 项目名称从 log-flume 更改为 'Backups'}
- 添加了数据库备份功能
