Linux系统下常用的数据备份方法Linux认证考试
文章作者 100test 发表时间 2010:01:01 17:07:39
来源 100Test.Com百考试题网
Linux作为新一代网络操作系统,在服务器方面的应用越来越广泛。作为专门的网络服务器,一个重要功能就是对服务器数据进行备份,以确保数据的安全。本文将介绍在Linux系统下一些常用的数据备份方法。
1、本机上数据的手工备份
Linux系统上配有功能强大的tar命令,可以灵活地备份数据。tar最初是为了制作磁带备份而设计的把文件和目录备份到磁带中,然后从磁带中提取或恢复文件。当然,现在我们可以使用tar来备份数据到任何存储介质上。tar非常易于使用稳定可靠,而且在任何 Linux系统上都有这个命令。因此是最经常使用的备份工具。
(1)使用tar命令备份数据的格式如下:
$ tar cvf backup.tar /home/html
上述命令是将/home/html 目录下的所有文件打包成tar文件backup.tar。
cvf是tar的命令参数。
c代表创建一个档案文件,
v代表显示每个备份的文件名字,
f表示tar创建的档案文件名是后面的backup.tar,
/home/html 代表tar要备份的文件或和目录名。
(2)使用tar命令恢复数据的格式如下:
$ tar xvf backup.tar
上述命令将备份文件backup.tar恢复到当前目录下。
通常情况下,tar对文件进行备份的时候并不对文件进行压缩,因此备份文件的尺寸非常大。使用如下的命令,将使tar在备份结束以后,自动使用gzip命令对备份文件进行压缩,得到一个相应的gz文件。
$ tar zcvf backup.tar.gz /home/html
这样,我们可以得到压缩文件backup.tar.gz。
backup.tar.gz是压缩的备份文件。
2、本机数据的自动备份
使用上述命令,我们可以手工备份数据,但是每天定时做这些操作可能比较繁琐。当然,Linux为我们提供了强大的工具来进行自动备份。这就是cron。
cron是一个后台进程,一旦启动,将根据自己的配置文件定时地执行任务。我们可以编写一个shell脚本文件来进行文件备份,然后让cron定时地启动这个脚本文件来对数据进行备份。
例如,我们每天备份/home/html目录下的所有的文件到/home/admin/backup/backup_xxxx目录下,xxxx代表备份的日期。这个工作,可以编写一个如下的shell脚本backup.sh来进行:
#!/bin/sh
cd /home/admin/backup
year=`date %Y`
month=`date %m`
day=`date %d`
now=$year-$month-$day
mkdir backup_$now
tar zcvf backup_$now/backup.tar.gz /home/html
这个脚本在备份数据的时候,自动读取系统日期,然后以系统当前的日期建立一个新的目录,将备份的数据打包压缩放在这个目录中。我们可以在系统中通过执行:$sh backup.sh ,完成备份工作。如果键入:$chmod x backup.sh ,可以将backup.sh设置为可运行。这样,我们就可以直接通过键入$./backup.sh来运行备份脚本文件了。一般情况下,我们希望在系统负载不是最大的时候来进行数据备份。通常,我们可以选择每天的凌晨3:00来进行数据备份(这段时间,你的服务器访问的人数应该最少吧?)。把一切工作交给 cron吧。 cron启动以后,它检查/var/spool/cron/目录中的配置文件来找到所要执行的任务和执行任务的时间,依据这些设定在规定的时间执行规定的任务。