如果您有多台服务器,如何备份WordPress网站

人们出于多种原因拥有多个虚拟专用服务器。 您可能要在不同的服务器上尝试不同的Linux发行版。 我本人在世界各地有4个VPS。 在本教程中,我将向您展示如何在服务器之间备份WordPress网站。

备份数据库

您要做的第一件事是备份WordPress数据库。 它包含您的帖子,页面,用户信息,网站设置等。 您可以使用以下命令备份所有数据库,

mysqldump -u root --password=root-password --all-databases --master-data | gzip > all-databases.sql.gz

root-password是数据库根用户密码,而不是Linux服务器根密码。 上面的命令将备份您在MariaDB或MySQL数据库服务器中的所有数据库,并将它们保存为名为all-databases.sql.gz的文件。 您可以根据自己的喜好命名该文件。

备份WordPress网站文件

可以使用以下命令完成此操作:

tar -cpzf site-files.tar.gz /path/to/your/web/root

常见的Web根是 / usr / share / nginx / html // var / www / html /。 此命令将备份您的所有WordPress网站文件,例如WordPress程序,主题文件,您上传的图片,插件等,并将其保存为名为site-files.tar.gz的文件。 同样,您可以根据自己的喜好命名。

将备份文件发送到远程服务器

您可以使用 scp(安全副本) 命令行实用程序来执行此操作。

scp all-databases.sql.gz site-files.tar.gz [email protected]:/home/username

scp使用ssh协议连接到您的远程服务器,并将以前备份的文件发送到该服务器。 您需要输入远程用户的密码。 上面的命令会将备份保存到远程用户的主目录。

如何自动执行备份过程

首先使用以下命令创建一个cron作业

crontab -e

这将打开您的cron作业文件。 将以下文本放入其中。

0 4 * * * mysqldump -u root --password=root-password --all-databases --master-data | gzip > all-databases.sql.gz && tar -cpzf site-files.tar.gz /path/to/your/web/root

保存文件。 第一部分 0 4 * * * 意味着 凌晨4点 (0 4) 每天 (第一个星号) 每周 (第二个星号) 每个月 (第三个星号)以上命令将自动执行。 双“&”号表示仅在成功执行前一个命令之后才执行下一个命令。

您还可以将命令设置为每隔一小时执行一次,只需更改第一部分 0 4 * * *0 2 / * * * *

上面的cron作业仅将WordPress备份到本地服务器,我们必须将备份发送到远程服务器。 使用 scp 我们之前讨论过的命令要求您输入远程服务器用户的密码。 它不是自动化的。 我们可以做的是,我们可以在服务器之间设置无密码的ssh登录,这样您在发送备份时就不必输入密码。

最好在cron文件中设置MAILTO变量,如下所示:

[email protected]

如果cron作业未成功完成,它将向您分配给MAILTO变量的电子邮件地址发送报告。

现在,您已在服务器上拥有多个WordPress站点副本。 如果一台服务器出现故障或硬盘驱动器崩溃,则可以通过在另一台服务器上还原数据库和站点文件并将DNS记录指向该服务器来快速启动并运行站点。

Sidebar