atomicsmash/backups

备份

安装数: 11,062

依赖项: 0

建议者: 0

安全性: 0

星标: 2

关注者: 5

分支: 0

公开问题: 5

类型:wordpress-plugin

0.1.2 2019-08-25 00:11 UTC

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,请简单地将其添加到服务器调度面板中

forge-schedule

另外,如果您使用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'}
  • 添加了数据库备份功能