在这章的例子中使用了一个 5GB 8-mm 磁带驱动器,其设备文件为/dev/rmt0。

一、备份

备份可以通过命令行或 SMIT 菜单实现。

1、命令行备份

AIX命令 backup 和 restore 专门用于备份和恢复。这两个命令做为标准 UNIX实用程序 tar、cpio、dd 和 pax 的补充。下面我们分别介绍备份整个文件系统和单个文件或目录的方法。

(1)备份文件系统

在 AIX 中用 backup 命令做一个文件系统转储是通过 i-node 格式备份。i-node 是AIX 管理数据的一种方式,通过 i-node 格式备份文件系统的基本的句法是:

# backup -f Device -DumpLevel -u File system

说明:

Device 设备可以是一个普通文件或一个设备文件。

DumpLevel 是从 0~9 的数字值,0在此代表完整的文件系统备份。其它级别代表增长备份,例如:n 级备份包括从最近一次 n- 1 级备份后被修改了的所有文件。

如果不指定备份级别,backup 缺省为 9级备份。

-u 选项可以更改用 backup 做增长备份时的记录文件,该文件是/etc/dumpdates。在备份文件系统之前应该先做 unmount 并做 fsck,当然根文件系统是例外的。如果要备份根文件系统,MOUNT 在根上的其他文件系统,包括日志文件系统都不被备份。

以下是使用 backup 的两个例子。

例 1:对/home 文件系统的一个完整的备份:

# umount /home

# fsck /home

# backup - f /dev/rmt0 - O - u /home

# mount /home


例 2:备份根文件系统,从最后一次 0 级备份后改变了的文件:

# backup - f /dev/rmt0 - 1 - u /

在第一例我们使用了安装点/home 作为文件系统的名字。这样做是为了更容易记住它。当然,在 backup 命令中也可以使用裸设备文件名或块设备文件名。要得到一个文件系统的块设备文件名,请使用 lsfs 命令。而在块设备文件前面加字符 r就是裸设备文件名了。


(2)备份单个文件和目录

备份单个文件和目录,请使用-i 选项,基本的句法是:

# backup –f Device –i

注意:

1.如果不包括-fDevice,backup 自动写到/dev/rfd0磁盘驱动器。

2.必须提供给 backup 一列需要备份的文件名字做为标准输入。有多种方法可以提供给 backup 做为标准输入,通过输入每个文件的名字并以 Ctrl-D结束;使用重定向;使用 find 命令或 cat 命令。

如果备份介质已经装好,下例中后面的-q 选择项是用来禁止 backup 命令提示装入备份介质。

# backup - f /dev/rmt0 - iq

/.profile

/etc/profile

/home

^D

# backup -f /dev/rmt0 < /tmp/filelist -iq

# cat /tmp/filelist | backup -f /dev/rmt0 -iq

# find /home - print|backup - f /dev/rmt0 - iq

上面最后一个例子将备份/home 目录的全部内容。但是在此前的 2 个例子中,如果把/home 列入/tmp/filelist 里面,那么仅仅此目录名被备份。为了使它能象备份文件一样备份目录树,可输入:


# find $(</tmp/filelist)- print|backup - f /dev/rmt0 – iq


另外为了在运行 backup 时看见文件和目录列表在屏幕上滚动,使用-v 选择项。为了保存这些输出,可以用重定向标准输出或使用 tee 命令,如下:

# find $(< /tmp/filelist) -print | backup -f /dev/rmt0 -iqv >\ /var/adm/backed.up.files

# find $ ( < /tmp/filelist ) -print | backup -f /dev/rmt0 -iqv | tee |\

var/adm/backed.up.files


2、用 SMIT 菜单备份

使用 smit backfilesys 快捷命令备份文件系统。

使用 smit backfile 快捷命令来按文件名方式备份。


二、恢复

restore 命令是用来恢复通过 i-node 方式或按名字方式备份的文件。这个命令仅仅对 backup 备份的文件有效,并且可以确定备份时通过哪种格式,是 i-node 或名字。

恢复完整文件系统的基本句法是:

# restore -f Device -r

恢复通过名字备份的文件的基本句法是:

# restore -f Device -x

例子:从磁带恢复通过 i-node 备份的一个完整文件系统:

# restore -f /dev/rmt0 - r

用这种方式恢复前,不必 unmount 文件系统,但是因为 restore 用相对的路径名字,所以要确定把当前目录改变到适当的目录。

恢复通过 i-node 备份的单个的文件,使用-i 选择项,将启动 restore 交互模式,它将引导完成恢复文件的整个进程。例如:

# restore -f /dev/rmt0 -i

从磁带恢复通过名字备份的所有文件:

# restore -f /dev/rmt0 -x

从磁带提取所有文件并且运行时显示文件名字:

# restore - f /dev/rmt0 - xv

恢复文件/home/partlist:

# restore - f /dev/rmt0 - xv /home/partlist

从磁带恢复/home 目录的全部内容:

# restore - f /dev/rmt0 - xv - d /home

为了避免在恢复文件时失败,要知道是使用完整路径(通过名字备份的文件)或相对的路径,这是极其重要的。要确定这点,使用-T 选择项得到备份介质的文件列表,例如:

从 backup 命令生成的/archive/backup1 中列出文件:

#restore - f /archive/backup1 - T

从磁带列出文件:

# restore - f /dev/rmt0 - T

就算路径名由一个“点”开始,例如。/home/partlist,也要按列出的内容使用文件或目录的名字。

同样,可以使用 SMIT 恢复文件,使用快捷命令 smit restfile 恢复单个的文件,用 smit restfilesys 恢复文件系统。


三、映象备份

mksysb 是 AIX 提供的生成可启动磁带的方法,让磁带包含根卷组的一个映象。这也是单个磁盘系统的一种保存方式,在磁盘失败的情况下,它提供了一种迅速的恢复方式,当然,用来恢复的mksysb 映象应该是较新的。也可以使用 mksysb 去安装另外的机器,这将要求再做一些配置,例如 IP 地址,因为几乎在原机器上的任何东西都被拷贝到磁带了。

做系统映象备份:

# smit mksysb

得到如下界面:

---------------------------------------------------------------------------------

Back Up the System

80

Type or select values in entry fields.

Press Enter AFTER making all desired changes.


[TOP] [Entry Fields]

WARNING: Execution of the mksysb command will

result in the loss of all material

previously stored on the selected

output medium. This command backs

up only rootvg volume group.

* Backup DEVICE or FILE [] +/

Create MAP files? no +

EXCLUDE files? no +

Make BOOTABLE backup? yes +

(Applies only to tape)

EXPAND /tmp if needed? no +

(Applies only to bootable tape)

Number of BLOCKS to write in a single output [] #

(Leave blank to use a system default)

---------------------------------------------------------------------------------

简单地输入磁带驱动器的设备文件名字,例如/dev/rmt0,如果系统的备份超过一盘磁带,在 FORCE increase of work space if needed 选择 yes。

mksysb 仅仅备份根卷组(rootvg)。AIX版本 4开始可以通过使用 savevg 命令或使用的 SMIT 命令 smit savevg 做其它卷组的映象,例如,备份一个叫datavg 的卷组,输入:

# savevg - i datavg

缺省设备是/dev/rmt0,使用其它的设备可以用-f 选择项指定。

为了恢复这个卷组,使用 restvg 命令或 smit restvg。例如,从/dev/rmt0 恢复

这个卷组,且不须要出现提示,输入:

# restvg – q

a



oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html