finalwebsites / backup4wp
WordPress的备份与恢复
Requires
- ifsnop/mysqldump-php: ^2.9
- phpmailer/phpmailer: ^6.5
- sendgrid/sendgrid: ^7.5
README
您知道这个问题,您已经使用WordPress备份插件为您的网站创建了一个备份,但您的WordPress网站在更新后崩溃了。接下来,您无法将网站恢复到之前的版本,因为您无法再访问WP仪表板。使用这个备份工具,您可以在WordPress之外创建备份。如果您需要恢复网站,请再次访问工具。我们使用该工具在安装新主题/插件或在进行一些(较小)更新之前创建备份。
您在寻找Backup4WP WordPress插件吗?WordPress插件评审团队决定拒绝我们的提交。他们认为该插件的概念不符合存储库列出的规则。我们接受他们的决定,并将插件从GitHub中删除。
它是如何工作的?
备份工具会从您的WordPress网站中复制一份,并将文件存储在公共目录之外的目录中。同一目录也会存储数据库转储。在恢复功能期间,备份文件会移回原始位置。数据库转储也用于恢复数据库。
先测试一下工具!
此工具使用Linux命令行工具"rsync"来复制所有文件。我们已使用该工具多年,并在所有我们的Web服务器上运行得非常好。在恢复过程中,它可能会破坏您的网站,因此请先在一个类似的测试网站上尝试备份工具。
安全性
此工具不存储任何数据库登录信息,所有文件都存储在公众网站无法访问的目录中。要访问Backup4WP工具,您需要通过发送到您自己的电子邮件地址的链接进行授权。会话在4小时活动后过期。
如果您的托管是基于Apache的,则有一个选项可以使用登录/密码或通过白名单您的IP地址来保护目录。
功能
- 超级快,500MB网站的备份只需几秒钟!
- 可选:下载您的备份,并使用ZIP文件在本地(通过Flywheel)导入网站
- 快速设置,使用现有插件(如MailerSend SMTP或WP Mail SMTP)的电子邮件凭证
- Apache用户可以通过登录/密码或IP地址进行身份验证
- 单击一次鼠标即可备份(完整或部分备份)
- 排除主题、插件或媒体文件
- 即使WordPress网站不再工作,也可以恢复您的网站
- 单击一次即可删除旧备份
- 在每个备份中添加注释
安装
使用Composer,只需在WordPress网站的公共HTML目录中运行以下代码
composer create-project finalwebsites/backup4wp:dev-master mybackup
如果喜欢,将目录名称"mybackup"替换为您的唯一名称。
手动安装
在此处下载zip文件。解压并将文件上传到名为"mybackup"(或任何其他名称)的目录中,该目录位于网站公共文件夹中。访问工具并输入您的电子邮件地址,输入您的MailerSend API密钥或SMTP凭证。通过邮箱中收到的链接确认您的电子邮件地址。
如果您想使用Apache提供的授权功能,请继续到“Apache身份验证”页面,并在该页面上输入您的详细信息。如果您需要备份的“下载”选项,您需要在文件 libs > func.php 中将变量 ENABLE_DOWNLOADS 更改为“true”。
ManageWP用户的安装代码片段
如果您使用ManageWP,请使用此代码片段。只需运行代码,访问工具并完成“安装”。 继续安装,如先前订阅那样!
<?php
$dir = dirname(dirname(dirname(__DIR__))).'/mybackup';
if (file_exists($dir)) {
echo 'A "mybackup" directory already exists!';
} else {
exec('composer -V', $output);
if (substr($output[0], 0, 8) == 'Composer') {
exec('composer create-project finalwebsites/backup4wp:dev-master mybackup'); // you can use a different directory name (instead of "mybackup")
echo 'Downloaded and installed Backup4WP using Composer';
} else {
echo 'Composer isn\'t supported by your web host.';
}
}
更新说明
2024年1月5日 在函数 get_db_conn_vals() 中,原来有一个检查环境变量的存在。这个旧的检查只适用于一些“罕见的”配置。检查已被替换,并使用 phpdotenv 类从网站读取 .env 文件。
2023年3月18日 在这个版本中,我们用 MailerSend 替换了 Sendgrid 邮件选项。Sendgrid 改变了他们的报价,带有 12,000 个月电子邮件的免费选项现在不可用(对于新账户)。您可以使用 Mailersend API 来替代 Sendgrid API。他们提供免费版本,每月 12,000 封电子邮件以及许多其他选项,这是 Sendgrid 所没有的。如果您仍然更喜欢 Sendgrid,您仍然可以在使用 SMTP 电子邮件选项的同时使用 Backup4WP。
2022年11月4日 在某些情况下,在恢复模式下读取数据库备份时出现了 PHP 内存错误。我们通过逐行读取文件使用 fgets() 替代 file() 函数来修复了这个问题。
2022年9月11日 我们对登录功能和选项页面进行了多项更新和错误修复。在过去,如果某些设置不正确,它不会在设置期间很好地工作。这些问题现在应该已经修复了。现在还有一个注销功能。我们建议您立即更新应用程序以防止未来出现问题的发生。您可以保留当前的数据库和文件,只有应用程序的文件会被修改。
2022年5月1日 首次发布 v1.1.0,从今天起我们使用版本标签。您想使用 Composer 吗?那么这个更新就是为您准备的。我们打包了 Backup4WP,您可以使用 Composer 安装此工具。PHPMailer、Sendgrid 和 Mysqldump 库不再包含在我们的分发中。不要担心手动安装,我们提供包含所有库文件的 ZIP 文件。在安装过程中,您可以选择目录名称。您可以使用自己的名称而不是“mybackup”。如果您选择一个随机的名称,这将使它更加安全。从我们的角度来看,更新应用程序对去年的安装来说是安全的。
2022年4月17日 如果您的 WordPress 网站使用的是 Easy SMTP 插件,Backup4WP 也会识别这些设置。另外,如果您使用 Sendgrid 的 API 密钥作为此 SMTP 插件的密码,API 密钥也会预先填充在“Sendgrid”部分。我们还更改了获取设置的使用顺序:1. Easy SMTP,2. WP Mail SMTP 和 3. 旧的 Sendgrid 插件。
2022年4月3日 如果您想下载备份,现在必须在文件“func.php”中将常量变量设置为“true”。大多数人不需要下载功能。这是一个临时解决方案,直到我们在选项页面上找到更好的方法。
2022年3月19日 电子邮件发送者名称现在是域名。如果您使用 Backup4WP 工具为多个网站,这将使在收件箱中识别电子邮件消息变得更加容易。
2021年1月30日 单个备份的目录结构已更改。网站文件现在存储在单独的目录中。 在将 Backup4WP 更新到最新版本之前,请删除旧备份。恢复功能将无法使用旧备份。 除了新的目录结构外,我们还添加了一个新功能:下载。现在您可以下载整个备份作为一个 ZIP 文件。ZIP 文件的架构与 Local(由 Flywheel)中的网站导入功能兼容。
2020年12月12日 一些用户不喜欢通过魔法链接进行授权。这就是我们为什么将“旧”的Apache授权方法重新放回到备份工具中的原因。如果您启用了Apache授权选项,基于电子邮件的方法将不再使用。
2020年9月14日 我们更改了用户可以使用的选项页面,现在他们可以使用他们的SMTP服务器凭据。为了在Backup4WP中保留这些设置,我们在“backupsettings”表中添加了几个列。要获取更新,您需要替换整个“mybackup”目录(保留您的“backups”目录!)并访问主页。函数“update_mybackup)”将添加缺少的数据库表列。可选地,添加您自己的SMTP服务器凭据。