如何打包备份Web服务器上的数据

大伟哥 提交于 2017-09-13,周三, 15:13 ,最近更新于2017-09-14,周四, 10:35

作为一个站长,网站数据是最宝贵的财产,定期备份网站数据是必须要进行的工作,如果要升级网站或者迁移网站到新的服务器主机,还需要临时进行网站备份,以便把最新的网站文件和数据上传导入到。对于使用虚拟主机的站长来说,可以通过控制面板备份网站文件或数据库,通过FTP软件或者网站直接下载到本地机器备份。那么对于没有使用控制面板的VPS或者独立服务器来说,可以使用命令行里的几个非常强大的工具来完成备份工作:cp、mysqldump、 tar、scp还有rsync。

下面以昨天大伟哥的linode VPS由Ubuntu 14.04LTS升级到Ubuntu 16.04LTS之前的备份过程为例,说明一下如何备份服务器上的重要数据。大伟哥的Linode VPS上目前绑定了两个域名,分别是www.aaa.com和www.bbb.com,上面运行着两个Drupal的网站,我们需要把这两个网站使用的Mysql数据库和网站文件,以及有关绑定这两个域名的虚拟主机配置文件全部备份下来,并且从VPS服务器上下载到本地电脑上。

一、备份前的分析

我们现在采用的操作系统是Ubuntu Server 14.04或者16.04,使用的都是默认配置,两者的Apache版本和MySQL数据库版本虽然不同,但配置文件和网站文件位置都是一致的。对于Apache来说,虚拟主机的配置文件放在/etc/apache2/sites-available/里面,有两个网站的配置文件(aaa.com.conf和bbb.com.conf)和两个默认的配置文件000-default.conf和default-ssl.conf); 而网站的文件,则放在目录/var/www/html/下面,有aaa.com和bbb.com两个文件夹,还有一个链接到phpmyadmin的软连接。至于Mysql数据库,可以使用mysqldump工具导出成为sql文件。

我们可以在用户目录下,建立一个文件夹,起个名字叫backup, 然后把Apache服务器的网站配置文件和两个网站的程序文件以及数据库备份文件都放在这个文件夹里,然后用tar工具压缩打包。然后把文件从VPS复制到本地计算机备份就可以了。

二、 思路有了,开始正式操作:

建立备份文件夹:

  1. mkdir backup

复制网站程序文件及Apache虚拟主机配置文件,并保存到/home/daweibro/backup文件夹:

  1. daweibro@linodevps-UbuntuServer1404:~$ sudo cp -Rf /var/www/html backup/
  2. daweibro@linodevps-UbuntuServer1404:~$ sudo cp -Rf /etc/apache2/sites-available backup/

把服务器上包括两个网站数据的所有数据库全部备份并保存到/home/daweibro/backup文件夹:

  1. daweibro@linodevps-UbuntuServer1404:~$ sudo mysqldump -uroot -p --opt --all-databases > /home/daweibro/backup/linode-all-databases-backup-20170913.sql
  2. Enter password:
  3. david@linodevps-UbuntuServer1404:~/backup$

上面命令中mysqldump是MySQL数据库强大的导入导出工具,-u后面直接指定数据库用户root, -p后面留空表示后面需要输入密码验证,--opt是一个综合参数,带上这个选项代表同时激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables参数。--all-databases表示导出所有的数据库。再后面表示保存的路径和文件名。按照提示输入密码之后,就会导出文件到文件夹了。

列出文件夹里的内容,看看这三个内容是否成功完成:

  1. daweibro@linodevps-UbuntuServer1404:~$ ls backup/
  2. html linode-all-databases-backup-20170913.sql sites-available
  3. daweibro@linodevps-UbuntuServer1404:~$ du -ah --max-depth=1 backup/
  4. 226M backup/html
  5. 15M backup/linode-all-databases-backup-20170913.sql
  6. 24K backup/sites-available
  7. 240M backup/
  8. david@linodevps-UbuntuServer1404:~$

以上可见,两个文件夹和一个sql文件都已经生成,整个备份文件夹占用了240M的空间。让我们打包压缩一下:

  1. daweibro@linodevps-UbuntuServer1404:~$ sudo tar zcvf linde-backup-20170913.tar.gz backup
  2. daweibro@linodevps-UbuntuServer1404:~$ du -ah --max-depth=1
  3. 240M ./backup
  4. 32M ./linde-backup-20170913.tar.gz
  5. 272M .

240M的文件压缩打包之后,只有32M大小了,这个压缩比还是非常惊人的。接下来我们把这个压缩包下载到本地计算机,备份就算完成了。关于下载,不同的操作系统,不同的工具有不同的用法,在这里就不展开了,可以根据自己的具体情况参考其他的文章。

文章分类

标签

添加新评论

此字段内容将保密,不会被其他人看见。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。
验证码
发布评论前,请通过下面的验证,以免被当作垃圾评论机器人屏蔽。
5 + 7 =
计算出这道简单的算术题并键入答案。例如、1+3,就输入 4。