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

  • 技术文档
  • 2022.03.24
  • 浏览:198

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

备份数据库

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

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

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

备份WordPress站点文件

这可以使用以下命令完成:

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

常见的web根目录是/usr/share/nginx/html/,/var/www/html/。此命令将备份所有WordPress站点文件,例如WordPress程序、主题文件、上载的图片、插件等,并将其保存为名为site files的文件。焦油广州。同样,你可以根据自己的喜好来命名。

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

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

scp all-databases.sql.gz site-files.tar.gz username@remote-server-ip:/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记录指向该服务器,快速启动并运行您的站点。