论坛: UNIX系统 标题: 为Linux系统设置备份. 复制本贴地址    
作者: carlneo [carlneo]    论坛用户   登录
备份是一项重要的工作,但是很多人没有去做。一旦由于使用不当造成数据丢失,备份就成了真正的救命者。本文将讨论设置备份的策略和如何选择备份介质,并介绍用于备份的tar和cpio工具。  

设置备份策略 

  设置备份策略和计划可以增加进行备份的可能性。备份开始前,要确定备份哪些数据、备份的频率和使用什么样的介质进行备份。备份的时候,应该进行完全备份。 

  备份通常安排在空闲时间进行。在大多数系统中,由于此时用户数量最少,所以打开的文件也最少。由于备份要占用一些系统资源,运行备份时用户会发现系统反应迟钝。 

  如果Linux计算机只有一个使用者,可以一个星期或一个月对整个系统备份一次。如果有关键性的文件,就应该有计划地把这些文件拷贝到一个可移动的磁盘中。 

  备份之前,首先要确保正确地设置备份设备。大多数磁带备份系统在安装时可以发现是否正确。系统启动后,打开一个终端窗口并且输入下面的命令: 


  $dmeg | less 



  滚动列表,并从中寻找你的磁带系统的驱动。如果没有发现,就需要加载一个组件驱动程序。 

  如果运行Linux服务器,就要制定一个备份计划,但这并不意味着每天要对所有的东西都备份。系统中只有一部分东西需要每天备份,下面列出需要备份的项目: 

  用户文件 每天都要对/home目录中的用户文件进行备份。 

  配置文件 /etc和/var目录中的配置文件不需要频繁备份,每个星期或每月备份一次即可,主要取决于配置更改的频繁程度。 

  程序文件 /usr和/opt目录中的程序文件很少发生变化,安装后做一次备份即可。通常情况下,程序文件可方便地从原始安装盘中恢复。 

选择备份介质 

  把备份存到哪里有多种选择。下面介绍一些可选择的备份介质: 

  软盘 如果要把重要文件快速备份,或者将其带到家中,这时软盘仍旧是一种可选的备份介质。 

  光盘写入器 随着光盘写入器变得越来越可靠,价格也越来越低,光盘本身也非常便宜。选用此项的一个好处是光盘不容易被损坏,它备份的可靠性很高。 

  使用光盘写入器有两点不利因素:它们速度较慢,并且只能保存大约650MB。 

  可重写的光盘 可重写光盘驱动器比光盘写入器要贵得多,工作方式与其类似。但是,这些光盘是可被重写的,并且它比只能写一次的光盘贵许多。可重写光盘其它的特性都与光盘写入器类似。 

  Jaz和Zip Zip驱动器很流行,已经成为许多PC机的标准配置,同时它的磁盘和驱动器也都不贵。它一张磁盘可容纳100MB的数据,是一种用于快速、可移动备份的很好选择。 

  Jaz磁盘可以容纳上G字节的数据,并且使用更先进的技术以获得更好的表现。Jaz驱动器和Jaz磁盘都比较贵。 

  Jaz和Zip的缺陷是都容易损坏,并且保持时间相对要短。 

  磁带机 磁带备份设备是大多数Linux服务器的标准配置。磁带是可靠的,并且很少出现错误,它几乎比其它介质存储时间都要长。 

  对于点对点工作组网络和中型网络,Travan和高端数字音频磁带(DAT)通常是最好的选择。Travan驱动器经过压缩可以处理8GB数据,这对于具有5-10个PC机的小型网络来说足够了。DAT驱动器有更好的表现,可以处理24GB的数据。DAT驱动器比Travan驱动器昂贵,但它磁带的价格要比Travan QIC磁带卷便宜。 

  高端磁带 选择高端磁带可能是相当贵的。与Travan或DAT相比,这种驱动器有更大的容量和更高的速度。三种广泛使用的驱动器类型是:Sony Advanced Intelliget Tape ( AIT ) 、Quantum Digital Linear Ta p e ( DLT )和Exabyte Mammoth 8mm。它们最少可以容纳20GB的不压缩数据,并且具有更高的数据传输能力。 

用于备份的tar 

  tar工具是以前备份文件的可靠方法,几乎可以工作于任何环境中,Linux老用户一般都信赖它。 

  Linux中以.tar结尾的文件都是用tar创建的。它的使用超出了单纯的备份,可用来把许多不同文件放到一起组成一个易于分开的文件。tar是从Tape ARchiver备份工具起步的。 

  包含在Linux中的GNU tar工具简便易用,包含了一个用来压缩的选项,且支持不断增加的备份。 

  tar是一个命令行的工具,没有图形界面。使用Konsole或Kvt打开一个终端窗口,接下来是一个简单的备份命令: 


  $tar cvf - /home > /temp/backup.tar 



  这个命令在/tmp目录中创建一个backup.tar的文件,/home目录中所有内容都包含在其中。 

  接下来可以把tar文件拷贝到备份磁盘中。使用简单备份时,如果要使用压缩功能,改为下面命令: 


  $tar czvf - /home > /tmp/backup.tgz 



  上面扩展名. tgz指出这是一个压缩文件。 

  下一个例子可以用来直接备份到一个安装好的Jaz驱动器中,但这样做要确定有足够的空间: 


  $tar czvf /mnt/jaz/backup.tgz - /home 



  对于一个磁带驱动器,使用设备名称: 


  $tar czvf /dev/st0/backup.tgz - /home 



  如果有一个备份非常大,可以使用多卷选项。但是,这样做就不能使用压缩。当第一个磁盘或磁带填满后,tar将提示插入另一张: 


  $tar cvMf /dev/st0/5mar2000.tar -home 



  要恢复备份使用下面的命令,以Jaz磁盘为例: 


  $tar xzvf /mnt/jaz/5mar2000.tgz /home 



  表1列出了tar主要功能参数。此外还有很多可选参数,本文不再详述。 

  表1 tar主要功能参数 
  参数       描述 
  -A     附加到另一个tar存档的后面 
  -C     创建一个新的tar存档 
  -d     找出tar存档和文件间的差别,用于一个文档的验证 
  --delete 从存档删除文件,磁盘备份不能选用 
  -r     把文件附加到tar存档的后面 
  -t     列出tar存档的内容 
  -u     只把比tar文档中的文件新的文件附加到存档中 
  -x     解开一个tar存档 




  tar备份可以用crontab工具设置成基于时间的有规律地运行。例如,每晚2点把/home目录备份到SCSI磁带驱动器中,只要将下面语句添加到root的crontab中即可: 


  00 02 * * * tar cvf /dev/st0/homefiles.tar - /home 



用于备份的cpio 

  GNU cpio工具像tar一样从命令提示行启动程序。与tar相比cpio更复杂,但是也更为可靠。因为如果一个tar文件中某处有一个坏块,就不能对备份文件的其它部分进行访问,而使用cpio,只有坏块不能被访问。 

  cpio创建一个称为copy-out mode的备份,备份存档中包含了文件和所有者、时间及访问许可等信息。cpio需要一个假定要备份的文件列表。创建列表的一个最方便的方法就是使用ls命令。例如,要把/home目录备份到SCSI磁带设备中,输入下面的命令: 


  $ls /home | cpio -o > /dev/st0 



  也可以使用find命令。它包括许多选项可以用来消减被存档文件的数量。例如,下面的命令对所有在上一个2 4小时内修改过的文件进行存档: 


  $find /home -mtime 1 -type f -print | cpio -o > /dev/st0 



  copy - in模式把文件从备份存档中解出来。下面的命令会恢复前两个备份例子中的所有文件: 


  $cpio -i < /dev/st0 



  你也可以对cpio的备份进行计划,用crontab工具设置成基于任何时间的有规律地运行。例如,要在每晚2点把/ home目录备份到SCSI磁带驱动器中,把下面的语句添加到root的crontab文件中即可: 


  00 02 * * * ls /home | cpio -o > /dev/st0 



     


地主 发表时间: 06/02 00:14

回复: hualuo [hualuo]   论坛用户   登录
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

B1层 发表时间: 06/02 02:14

回复: magic [buaaytt]   论坛用户   登录
我的备份方案:
1.在服务器之外的另一台机器上开通ftp服务作为备份服务器;
2.每天凌晨12点将几个重要的数据和资料备份并打包以便上传,备份的数据包括:
/home
/var/www/html,这是网站页面程序目录
/var/spool/mail
/usr/local/mysql/var
/etc/passwd,/etc/shadow,/etc/group这是网站已注册用户的密码属组等属性的文件;
3.
crontab �Ce 定制自动执行的文件
00 00 * * * /var/spool/cron/cron
然后在/var/spool/cron/cron下建立cron文件,内容如下:
rm -rf /home.tgz
tar czvf /home.tgz /home
/upload/uploadhome
(下略)

即先将上次备份删除,然后将重要数据打包,压缩,最后执行上传到备份服务器的程序。将cron文件的属性修改为可执行:
-rwx------    1 root     root          461 May 28 13:51 /var/spool/cron/cron

在根目录下建立upload目录,里面建立五个文件,分别命名为uploadhome  uploadhtml  uploadmail  uploadmysql  uploaduser,并进行相应的属性设置,即:
-rwx------    1 root     root          104 Apr  8 08:59 uploadhome
-rwx------    1 root     root          122 Apr  8 11:36 uploadhtml
-rwx------    1 root     root          124 Apr  8 11:53 uploadmail
-rwx------    1 root     root          124 Apr  8 10:10 uploadmysql
-rwx------    1 root     root          104 Apr 10 10:04 uploaduser
五个文件内容分别为:
uploadhome:
{
echo "user $username $pass"
echo "bin"
echo "put /home.tgz"
echo "bye"
} | ftp -n ip

至此完成,请大家指点。

B2层 发表时间: 06/02 09:34

论坛: UNIX系统

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号