在Linux 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; 下面是我的输出结果:
可以看到一共有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任务,每天定时备份数据库和文件。
相关主题 |