Red Hat Enterprise Linux备份注意事项

日期: 2010-10-28 作者:Mark G. Sobell翻译:李哲贤 来源:TechTarget中国 英文

实际应用中,您可能需要在备份的时候排除部分目录下的文件。例如,不对/tmp 或/var/tmp (或跟它相关的, /usr/tmp)中的文件做备份可以节省空间。而且,对/proc中的文件也不要做备份,因为/proc文件系统并不是真正的磁盘文件,而是Linux内核用于保留操作系统和内存信息的区域,因此无需备份/proc目录,而且即使备份也无法恢复。另外,对于通过网络从其它系统映射来的文件系统也不需要备份。

  不要备份FIFO,备份结果是不可控的。如果您想采用更简单的方法实现,只需创建一个文件其中包括了所有无需备份文件的文件名,然后在备份程序中使用适当的命令读取该文件从而排除不需备份部分。   ……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

实际应用中,您可能需要在备份的时候排除部分目录下的文件。例如,不对/tmp 或/var/tmp (或跟它相关的, /usr/tmp)中的文件做备份可以节省空间。而且,对/proc中的文件也不要做备份,因为/proc文件系统并不是真正的磁盘文件,而是Linux内核用于保留操作系统和内存信息的区域,因此无需备份/proc目录,而且即使备份也无法恢复。另外,对于通过网络从其它系统映射来的文件系统也不需要备份。

  不要备份FIFO,备份结果是不可控的。如果您想采用更简单的方法实现,只需创建一个文件其中包括了所有无需备份文件的文件名,然后在备份程序中使用适当的命令读取该文件从而排除不需备份部分。

  虽然所有的这些归档命令都可以满足简单备份需求,但依然有Amanda这样的高级备份和恢复软件可以提供更加精细的功能。例如,为了判断归档中是否包含某个文件,您需要去查找整个归档文件。如果归档不幸位于多盘磁带上,查找过程会很麻烦。更加高级的工具,如Amanda,可以通过多种方式简化用户需求,包括在备份时创建一个包含了所有归档文件的列表。

  dump,restore:备份和恢复文件系统

  Dump命令最早出现于Unix 6中,可用于整个文件系统的全备份,或是从上次dump之后发生改变部分文件的备份。Restore命令可以恢复整个文件系统、某个单独的文件级或目录级的文件。在做备份时最好的情况是让系统保持静态,这样才能确保文件在备份过程中不会发生改变。

  下面的命令可以把root(/)分区下的所有目录和特殊文件备份到编号0的SCSI磁带上 。通常,使用/dev/tape就可以链接到激活的磁带驱动器,它可以用于代替/dev目录下真实的目标地址。

# dump -0uf /dev/st0 /
  
  在参数中指明需要备份整个文件系统需要(- 全备份)。Dump分为0到9十个不同级别,0是最高级(最完整的),需要备份整个文件系统。之后的每个级别都是在前一个级别基础上的增量备份。

  例如,1是对0级的增量备份,仅备份dump0之后发生改变的部分;2是1的增量,备份dump1之后发生改变的部分,依此类推。通过这个功能,用户可以创建高度弹性的备份机制。而且数字的使用并非强制保持连续,例如您也可以在dump 0之后创建 2或 5 dump。

  参数u用于升级/etc/dumpdates文件中关于文件系统、数据以及dump级别等相关信息,以备下一次增量dump使用。参数f 及其变量把备份写入到名为/dev/st0 的设备中。

  如下命令可以完成对上一次 0 dump之后所有发生改变文件的一次特殊备份。第一个变量1标示出是一次 1 dump:

# dump -1uf /dev/st0 /

  如果要从磁带恢复整个文件系统,首先完成最近一次全备份(0级)的恢复。做这个动作一定要小心,因为恢复的动作会覆盖现有的文件系统。如果您是以超级用户登录的,输入cd命令回到文件系统的挂载点,然后输入命令:

# restore -if /dev/st0

  参数i引入对话方式允许用户选择要恢复的文件和目录。在dump命令中,f参数指定备份介质挂载点的设备名称。当0级恢复完成后,开始载入下一级(更高数字)的dump磁带并运行相同的恢复命令。

  如果某一级中做了多个增量dump,通常选用最近的那一个。而且您不需要特殊变量来调用增量dump,命令会自动恢复存在于磁带上的文件。

  利用restore命令还可以从磁带中解压某个单独文件,x参数可以实现这个功能,允许在命令中指定文件名。当完成恢复后,被恢复的文件会出现在工作目录下。在开始恢复文件之前,一定要确保在正确的目录下工作。

  如下命令实现从位于/dev/st0中的磁带中恢复/etc/nsswitch.conf文件。Dump的文件名称并不是以/开头的,因为所有dump之后的路径名都会跟文件系统相关,如本例中是/。由于restore命令是在/ 目录下执行的,文件会被恢复到/etc/nsswitch.conf的原始位置:

# cd /
# restore -xf /dev/st0 etc/nsswitch.conf

  如果使用x参数没有附带需要提取的特殊的文件或目录名,整个文件系统将会被提取。使用r参数可以在不出现对话框的情况下恢复整个文件系统,如下的命令从位于/dev/st0的磁带中恢复整个文件系统到工作目录下,而且不出现提示。

# restore -rf /dev/st0

  使用dump和restore命令还可以访问位于其它系统上的磁带驱动器,通过如host:file 类似的形式制定文件/目录,host 指定磁带驱动器所在的主机名,file指定希望执行dump/restore操作的文件/目录。

  有时,restore命令运行时会弹出如下的提示信息:

  (您还没有读取任何卷。除非您确切地知道文件位于哪个卷上,否则建议从最后一个卷一直运行到第一个。指定下一个卷 #:)

  输入1回答该提示,如果文件系统跨越多个磁带或磁盘,该提示出现时我们可以更换磁带。

  在dump的最后,会收到另一个提示信息:
 
set owner/mode for '.'? [yn]
(把用户模式设置为 '.'? [yn])

  如果您需要恢复的是整个文件系统或误删除的某个文件时,输入y,将会为被恢复的文件和目录同时恢复正确的访问权限。如果需要执行dump恢复到跟备份源地址不同的目录时,回答n,工作目录的权限和所有权将会重设为归完成恢复操作的用户所有(通常是root用户)。

  各种的设备名称都可以访问/dev/st0设备,每个名称下的访问会带有不同的设备编号,用于控制磁带驱动器的使用方式。在用/dev/st0完成dump操作后,磁带驱动器会自动回卷到磁带头的位置。使用不回卷的SCSI磁带驱动器(/dev/nst0)可以保持磁带回卷操作在磁带写满后再进行。这项功能可以使多个文件系统备份到一个卷上。如下的例子中,在一个设备中/home, /usr, /va几个不同目录备份在一起。

# dump -0uf /dev/nst0 /home
# dump -0uf /dev/nst0 /usr
# dump -0uf /dev/st0 /var

  前两行的例子中使用了不回卷的设备。如果使用回卷设备,每次dump之后磁带就回到磁带头位置,而磁带中保留的只有最后一次dump操作所备份的内容。

  另外,作为mt-st的一部分,用户还可以使用mt(magnetic tape)参数来管理多卷备份磁带的操作。如下的mt命令完成对磁带的定位(fsf 2指令表示跳过之前的两个文件,把磁带定位到第三个文件开始的位置)。之后Restore命令就可以恢复前一个例子中的/var文件系统:

# mt -f /dev/st0 fsf 2
# restore rf /dev/st0

翻译

李哲贤
李哲贤

TT虚拟化特约作者

相关推荐