Linux VPS免插件备份并恢复WordPress网站

在VPS环境下,我们备份WordPress不再需要借助插件。WordPress网站的备份包括两个部分:数据库备份和文件备份。

如何备份WordPress数据库

一般的Linux VPS使用的是MySQL数据库服务器,不过现在也有很多网站使用MariaDB数据库服务器。MariaDB是MySQL的分支,MariaDB的命令与MySQL的命令基本一致。下面的备份命令适用于MySQL和MariaDB。

SSH登录Linux VPS,然后输入下面的命令进入MySQL Shell。-u代表userid,-p代表password。

mysql -u root -p

输入MySQL root密码后,我们就进入了MySQL Shell。输入下面的SQL语句列出所有的数据库:

show databases;

下面是我的输出结果:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| wpfun              |
+--------------------+

可以看到一共有4个数据库,其中有一个是WordPress使用的数据库。输入下面的SQL语句退出MySQL Shell。

exit;

然后在Linux Shell中输入下面的命令备份所有数据库,包括WordPress所使用的数据库。

mysqldump --all-databases --user=root --password --master-data > backup.sql

这条命令使用mysqldump这个工具将全部数据库备份到一个backup.sql文件中,你也可以指定成其他文件名,如wordpress.sql。如果出现下面的错误

mysqldump: Error: Binlogging on server not active

那么编辑/etc/mysql/my.cnf文件

sudo vi /etc/mysql/my.cnf

添加下面一行到[mysqld]这一部分

log-bin=mysql-bin

如下

[mysqld]
 #
 # * Basic Settings
 #
 user = mysql
 pid-file = /var/run/mysqld/mysqld.pid
 socket = /var/run/mysqld/mysqld.sock
 port = 3306
 basedir = /usr
 datadir = /var/lib/mysql
 tmpdir = /tmp
 lc-messages-dir = /usr/share/mysql
 skip-external-locking
 log-bin=mysql-bin
 #

然后重启mysql数据库服务器,再执行上面的mysqldump命令

sudo systemctl restart mysql 或 sudo service mysql restart
mysqldump --all-databases --user=root --password --master-data > backup.sql

如何备份WordPress文件

备份WordPress文件,也就是要备份网站根目录下的所有文件。WordPress程序、主题、插件、上传的图片等WordPress网站文件都在网站根目录下,通常Linux VPS网站根目录为/var/www/html。

我们可以使用tar命令来打包/var/www/html目录下的所有文件。输入下面的命令:

tar -cpzf filename.tar.gz /var/www/html/

你可以将filename指定成任何文件名。

 

知道如何备份不够,我们还需要了解如何恢复WordPress网站。

如何恢复WordPress数据库

输入下面的命令导入备份好的数据库

mysql -u root -p < backup.sql

这条命令将之前全部备份好的数据库文件backup.sql的内容恢复到了MySQL数据库服务器中。

如何恢复WordPress文件

首先解压之前打包好的备份文件:

tar -xvf filename.tar.gz

然后将解压好的文件复制到网站根目录下:

sudo cp var/www/html/* /var/www/html/ -R

这样WordPress网站就全部恢复好了。

将备份文件发送到自己的邮箱

如果你觉得备份在服务器上不保险的话,可以把备份的数据库和文件以附件的形式发送到自己的邮箱。我们可以使用heirloom-mailx这个命令行邮件客户端来发送邮件,安装heirloom-mailx的命令:

Debian/Ubuntu

sudo apt-get install heirloom-mailx

RHEL/CentOS

sudo yum install mailx  或 sudo dnf install mailx

然后输入下面的命令将备份数据库和文件发送到自己的邮箱

echo “Hooray! You have successfully backed up your wordpress database and files.” | mail -a backup.sql -a filename.tar.gz -s “***database and files backed up***” -r “your-name<your-email-address>

你可以设置一个cron任务,每天定时备份数据库和文件。

为这篇文章评分
[Total: 3 Average: 5]

Leave a Reply

Your email address will not be published.

The maximum upload file size: 2 MB. You can upload: image, audio, video, document, spreadsheet, interactive, text, archive, code, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here