Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2029654
  • 博文数量: 593
  • 博客积分: 20034
  • 博客等级: 上将
  • 技术积分: 6779
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-06 14:07
文章分类

全部博文(593)

文章存档

2016年(1)

2011年(101)

2010年(80)

2009年(10)

2008年(102)

2007年(16)

2006年(283)

我的朋友

分类:

2006-06-21 15:01:50

 

本章包含备份和恢复操作系统、应用程序和数据的以下过程:

压缩文件

现有几种压缩文件系统的方法:

  • -p 标志与 命令一起使用。
  • 使用 或 命令。

由于以下原因压缩文件:

  • 保存存储和归档系统资源:
    • 进行备份前压缩文件系统以保留磁带空间。
    • 压缩晚上运行的 shell 脚本创建的日志文件;很方便在退出前用脚本压缩文件。
    • 压缩当前未被访问的文件。例如,可以将属于因长假而离开的用户的文件压缩并放置到磁盘的 tar 归档文件或磁带中用作以后恢复。
  • 通过将文件经网络发送前压缩这些文件来节省金钱和时间。

过程

要压缩 foo 文件并将压缩百分比写入标准错误,请输入:

compress -v foo

有关返回值的详细信息,请参阅 compress 命令,但是,通常压缩文件时遇到的问题可以汇总如下:

  • 压缩时命令可能用完了文件系统中的工作空间。因为 compress 命令在删除任何未压缩的文件前创建压缩文件,所以它需要额外的空间 — 任何给定文件大小的 50% 至 100%。
  • 文件可能因为已经压缩而压缩失败。如果 compress 命令不能减少文件大小,则失败。

备份用户文件或文件系统

有两种过程可用于备份文件和文件系统:SMIT 快速路径 smit backfilesmit backfilesys 以及 命令。

有关备份用户文件或文件系统的其它信息,请参阅 AIX 5L Version 5.2 System Management Concepts: Operating System and Devices 中的。

先决条件

  • 如果通过可能在使用中的 i-node 文件系统备份,则首先将其卸下以避免不一致。
    注意: 如果试图备份已安装的文件系统,则显示警告消息。backup 命令继续,但是可能在文件系统中发生不一致。此警告不适用于根(/)文件系统。
  • 要防止错误,请确保最近已经清洗了备份设备。

备份用户文件或文件系统任务
任务 SMIT 快速路径 命令或文件
备份用户文件 smit backfile
  1. 登录到用户帐户。
  2. 备份:find . -print | backup -ivf /dev/rmt0
备份用户文件系统 smit backfilesys
  1. 卸下计划备份的文件系统。例如:umount allumount /home /filesys1
  2. 验证文件系统。例如:fsck /home /filesys1
  3. 通过 i-node 备份。例如:backup -5 -uf/dev/rmt0/home/libr
  4. 使用以下命令恢复文件: restore -t

注:
如果此命令生成错误消息,则必须重复整个备份过程。

备份系统映象和用户定义的卷组

备份系统

以下过程描述了如何制作系统的可安装映象。

先决条件

备份 rootvg 卷组前:

  • 必须已经安装了包括外部设备(例如磁带和 CD-ROM 驱动器)的所有硬件。
  • 备份过程要求 sysbr 文件集,它在“BOS 系统管理工具和应用程序”软件包中。输入以下命令以确定系统上是否安装了 sysbr 文件集:

    lslpp -l bos.sysmgt.sysbr

    如果系统已经安装了 sysbr 文件集,则继续备份过程。

    如果 命令没有列出 sysbr 文件集,则在继续备份过程前安装它。有关说明,请参阅《AIX 5L V5.2 安装指南与参考大全》中的。

    installp -agqXd device bos.sysmgt.sysbr

    此处 device 是软件的位置;例如,用于磁带机的 /dev/rmt0

备份用户定义的卷组前:

  • 保存前,必须改变卷组且必须已安装了文件系统。
    注意: 执行 savevg 命令导致先前存储在选择的输出介质上的所有资料丢失。
  • 确保最近已经清洗了备份设备以防止错误。

备份系统任务
任务 SMIT 快速路径 命令或文件
备份 rootvg 卷组
  1. 作为 root 用户登录。
  2. 安装文件系统以备份。1 smit mountfs
  3. 卸下安装在另一个本地目录上的任何本地目录。smit umountfs
  4. 使 /tmp 目录中至少有 8.8 MB 的可用磁盘空间。2
  5. 备份:smit mksysb
  6. 对备份介质进行写保护。
  7. 记录任何已备份的 root 用户和用户密码。
  1. 作为 root 用户登录。
  2. 安装文件系统以备份。1 请参阅 命令。
  3. 卸下安装在另一个本地目录上的任何本地目录。请参阅 命令。
  4. 使 /tmp 目录中至少有 8.8 MB 的可用磁盘空间。2
  5. 备份。请参阅 命令。
  6. 对备份介质进行写保护。
  7. 记录任何已备份的 root 用户和用户密码。
验证备份磁带 3 smit lsmksysb  
备份用户定义的卷组 4 smit savevg
  1. 必要的话,在备份前修改文件系统大小。5 mkvgdata VGName 然后编辑 /tmp/vgdata/VGName/VGName.data
  2. 保存卷组。请参阅 命令。

注:
  1. 命令不备份经 NFS 网络安装的文件系统。
  2. mksysb 命令在备份持续时间要求此工作空间。使用 命令(以 512 字节块的单元报告)以确定 /tmp 目录中的可用空间。必要的话,使用 命令来更改文件系统的大小。
  3. 此过程列出了 mksysb 备份磁带的内容。内容列表验证磁带上的大多数信息,但是不验证可以为安装而引导磁带。验证 mksysb 磁带上的引导映象是否能正常运行的唯一方法是从磁带引导。
  4. 如果想将用户定义的卷组中的文件从备份映象排除,则创建一个名为 /etc/exclude.volume_group_name 的文件,此处 volume_group_name 是想要备份的卷组的名称。然后编辑 /etc/exclude.volume_group_name 并输入不想包括在备份映象中的文件名称的模式。将此文件中的模式输入到匹配 命令的约定的模式以确定从备份排除哪些文件。
  5. 如果选择修改 VGName.data 文件以改变文件系统的大小,则不能指定 -i 标志或 -m 标志与 savevg 命令一起使用,因为 VGName.data 文件被覆盖。

有关安装(或恢复)备份映象的更多信息,请参阅《AIX 5L V5.2 安装指南与参考大全》中的。

执行计划的备份

此过程描述了如何开发和使用脚本来执行用户文件的每周完全备份和每日增量备份。此过程中包括的脚本仅打算作为模型并且需要为特定站点的需要仔细定制。

先决条件

  • 使用此脚本时,计划用于备份的数据量不能超过一盒磁带。
  • 确保 cron 命令运行脚本前磁带已装入到备份设备。
  • 确保设备已连接并且可用,特别是在使用晚上运行的脚本时。使用 lsdev -C | pg 命令来检查可用性。
  • 确保最近已经清洗了备份设备以防止错误。
  • 如果正在备份可能在使用中的文件系统,则首先将其卸下以防止文件系统毁坏。
  • 制作备份前检查文件系统。使用过程或运行 命令。

使用 cron 命令备份文件系统

此过程描述了如何写 crontab 脚本,您可以将该脚本传递给 命令以执行。该脚本从周一至周六晚上备份两个用户文件系统,/home/plan/home/run。两个文件系统都备份在一盒磁带上,每天早上插入一盒新磁带用于下一晚上备份。周一晚上的备份的完全归档的(级别 0)。从周二至周六的备份是增量备份。

  1. 制作 crontab 脚本的第一步是发出 -e 命令。这打开一个空的文件,您可以在其中制作每天晚上要提交给 cron 脚本执行的项(缺省编辑器是 vi)。请输入:
    crontab -e
  2. 以下示例显示了六个 crontab 字段。字段 1 用于分钟,字段 2 用于 24 小时时钟的小时,字段 3 用于月中的天,而字段 4 用于年中的月。字段 3 和 4 包含 *(星号)以显示 day/wk 字段中指定的每月中这天运行脚本。字段 5 用于星期中的天,也可以用天的范围来指定,例如,1-6。字段 6 用于运行中的 shell 命令。
    min hr day/mo mo/yr day/wk       shell command
    0   2    *     *       1         backup -0 -uf /dev/rmt0.1 /home/plan

    显示的命令行假定该位置的人员可在适当的时候对提示进行反馈。-0(零)标志用于代表级别零或完全备份的 命令。-u 标志更新 /etc/dumpdates 文件中的备份记录,而 f 标志如上例那样指定设备名称、原始磁带设备 0.1。有关扩展 .1 和其它扩展(1-7)的含义的信息,请参阅 AIX 5L Version 5.2 Files Reference 中的 。

  3. 输入类似于步骤 2 中的一行以在特定的一天备份每个文件系统。以下示例显示了在两个文件系统上执行六天备份的所有脚本:
    0 2 * * 1 backup -0 -uf/dev/rmt0.1 /home/plan
    0 3 * * 1 backup -0 -uf/dev/rmt0.1 /home/run
    0 2 * * 2 backup -1 -uf/dev/rmt0.1 /home/plan
    0 3 * * 2 backup -1 -uf/dev/rmt0.1 /home/run
    0 2 * * 3 backup -2 -uf/dev/rmt0.1 /home/plan
    0 3 * * 3 backup -2 -uf/dev/rmt0.1 /home/run
    0 2 * * 4 backup -3 -uf/dev/rmt0.1 /home/plan
    0 3 * * 4 backup -3 -uf/dev/rmt0.1 /home/run
    0 2 * * 5 backup -4 -uf/dev/rmt0.1 /home/plan
    0 3 * * 5 backup -4 -uf/dev/rmt0.1 /home/run
    0 2 * * 6 backup -5 -uf/dev/rmt0.1 /home/plan
    0 3 * * 6 backup -5 -uf/dev/rmt0.1 /home/run
  4. 保存创建的文件并退出编辑器。操作系统将 crontab 文件传递给 cron 脚本。

创建远程归档

运行 AIX 系统不能象从本地到系统一样安装远程磁带设备;然而,可以使用 命令将数据发送到远程机器磁带设备。本节描述了如何将文件归档到远程磁带设备。以下过程只写单个磁带。多个磁带归档要求专门的应用程序软件。

在以下过程中,假定以下各项:

blocksize
代表目标磁带设备块大小。
remotehost
是目标系统(有磁带机的系统)的名称。
sourcehost
是源系统(归档的系统)的名称。
/dev/rmt0
是远程磁带设备的名称。
pathname
代表需要的目录或文件的完整路径名。

以下说明假定本地和远程用户都是 root 用户。

  1. 确保您对远程机器有访问权。源机器必须对有磁带机的系统有访问权。(可以使用系统上定义的任何用户访问目标系统,但是该用户名必须有 root 用户权限来执行以下的许多步骤。)
  2. 使用喜爱的编辑器,在名为 .rhosts 的目标系统(允许源系统访问目标系统)的 /(根)目录中创建文件。需要将授权的主机名和用户标识添加到此文件。要确定源机器上 文件的名称,可以使用以下命令:
    host SourceIPaddress
    有关此示例的用途,假定您将以下行添加到 .rhosts 文件:
    sourcehost.mynet.com   root
  3. 保存文件然后使用以下命令更改其许可权:
    chmod 600 .rhosts
  4. 使用 rsh 命令来测试从源机器的访问。例如:
    rsh remotehost
    如果一切设置正确,则应该授权 shell 访问远程机器。不应看到要求用户名的登录提示。输入 exit 退出此测试 shell。
  5. 确定适当的磁带设备块大小。以下是推荐的值:
    9 磁道或 0.25 英寸介质块大小: 512
    8 毫米或 4 毫米介质块大小: 1024
    如果不确定并想检查磁带设备的当前块大小,请使用 命令。例如:
    tctl -f /dev/rmt0 status
    如果想更改磁带块大小,请使用 chdev 命令。例如:
    chdev -l rmt0 -a block_size=1024
  6. 使用以下方法之一创建归档:
    按名称备份
    要按名称远程创建备份归档,请使用以下命令:
    find pathname -print | backup -ivqf- | rsh remotehost \
        "dd of=/dev/rmt0 bs=blocksize conv=sync"
    按 inode 备份
    要按 inode 远程创建备份归档,请首先卸下文件系统,然后使用 命令。例如:
    umount /myfs
    backup -0 -uf- /myfs | rsh remotehost \
         "dd of=/dev/rmt0 bs=blocksize conv=sync"
    创建并将归档复制到远程磁带
    要创建并将归档复制到远程磁带设备,请使用以下命令:
    find pathname -print | cpio -ovcB | rsh remotehost \
        "dd ibs=5120 obs=blocksize of=/dev/rmt0"
    创建 tar 归档
    要远程创建 归档,请使用以下命令:
    tar -cvdf- pathname | rsh remotehost \
        "dd of=/dev/rmt0 bs=blocksize conv=sync"
    创建远程转储
    要远程创建 /myfs 文件系统的远程转储,请使用以下命令:
    rdump -u -0 -f remotehost:/dev/rmt0 /myfs
    -u 标志告诉系统在 文件中更新当前备份级别记录。-0级别标志的设置。备份级别 0 指定 /myfs 目录中的所有文件都要备份。有关更多信息,请参阅《AIX 5L V5.2 命令参考大全》中的 命令描述。
  7. 使用以下方法之一恢复远程归档:
    按名称恢复备份
    要按名称恢复远程备份归档,请使用以下命令:
    rsh remotehost "dd if=/dev/rmt0 bs=blocksize" | restore \
         -xvqdf- pathname
    按 inode 恢复备份
    要按 inode 恢复远程备份归档,请使用以下命令:
    rsh remotehost "dd if=/dev/rmt0 bs=blocksize" | restore \
        -xvqf- pathname
    恢复远程 cpio 归档
    要恢复通过 cpio 命令创建的远程归档,请使用以下命令:
    rsh remotehost "dd if=/dev/rmt0 ibs=blocksize obs=5120" | \
         cpio -icvdumB 
    恢复 tar 归档
    要恢复远程 tar 归档,请使用以下命令:
    rsh remotehost "dd if=/dev/rmt0 bs=blocksize" | tar -xvpf- pathname
    恢复远程转储
    要恢复 /myfs 文件系统的远程转储,请使用以下命令:
    cd /myfs
    rrestore -rvf remotehost:/dev/rmt0

从备份映象个别用户文件恢复

如果需要恢复偶然毁坏的备份映象,则最困难的问题是确定哪些备份磁带包含此文件。restore -T 命令可以用于列出归档的内容。一个好的想法是恢复 /tmp 目录中的文件,以便不会偶然覆盖用户的其它文件。

如果备份策略包括了增量备份,则它有助于当文件最近修改过时从用户查找。这有助于确定哪些增量备份包含该文件。如果不能获取此信息或发现此信息是不正确的,则开始按逆向顺序(7、6、5、...)搜索增量备份。对于增量文件系统备份, 命令的 -i 标志(交互方式)对于定位和恢复丢失的文件都是非常有用的。(交互方式对于从 /home 文件系统的备份恢复个别用户的帐户也是有用的。)

下表中的过程描述如何实现目录或文件系统的级别 0(全部)恢复。

先决条件

确保设备已连接并可用。要检查可用性,请输入:


lsdev -C | pg

从备份映象任务恢复
任务 SMIT 快速路径 命令或文件
恢复个别用户文件 smit restfile 请参阅 命令。
恢复用户文件系统 smit restfilesys
  1. mkfs /dev/hd1
  2. mount /dev/hd1 /filesys
  3. cd /filesys
  4. -r
恢复用户卷组 smit restvg 请参阅 -q 命令。

阅读(1109) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~