系统管理指南:设备和文件系统

Procedure如何以交互方式恢复文件

  1. 成为超级用户或承担等效角色。

  2. (可选)为安全起见,请对磁带进行写保护。

  3. 将卷 1 磁带插入磁带机。

  4. 转至用于临时将文件恢复到的目录。


    # cd /var/tmp
    
  5. 启动交互式恢复。


    # ufsrestore if /dev/rmt/n
    

    此时将显示某些提示性消息和 ufsrestore> 提示符。

  6. 创建要恢复的文件的列表。

    1. 列出目录的内容。


      ufsrestore> ls [directory-name]
    2. 转至目录。


      ufsrestore> cd directory-name
      
    3. 创建要恢复的文件和目录的列表。


      ufsrestore> add filenames
      
    4. (可选的)从要恢复的文件列表中删除任何目录或文件(如果必要)。


      ufsrestore> delete filename
      
  7. (可选的)在恢复文件时显示文件名称。


    ufsrestore> verbose
    
  8. 恢复文件。


    ufsrestore> extract
    

    ufsrestore 命令将询问您要使用的卷编号。

  9. 键入对应的卷编号并按回车键。如果您只有一个卷,请键入 1 并按回车键。


    Specify next volume #: 1
    

    列表中的文件和目录将被提取并恢复到当前工作目录。

  10. 要维护当前目录的模式,请在 set owner/mode 提示符下输入 n


    set owner/mode for `.'? [yn] n
    

    ufsrestore 命令执行其最后的清除时必须等待。

  11. 退出 ufsrestore 程序。


    ufsrestore> quit
    

    随后将显示 shell 提示符。

  12. 验证恢复的文件。

    1. 列出恢复的文件和目录。


      # ls -l
      

      此时将显示文件和目录的列表。

    2. 检查该列表,以确保列表中指定的所有文件和目录都已恢复。

  13. 将文件移至正确的目录。


示例 27–2 以交互方式恢复文件

以下示例说明如何从备份磁带中提取 /etc/passwd/etc/shadow 文件。


# cd /var/tmp

# ufsrestore if /dev/rmt/0

ufsrestore> ls

.:

 .:

 .sunw/        export/       net/          sbin/         usr/

 Sources/      etools/       opt/          scde/         var/

 b/            home/         ptools/       set/          vol/

 bin           kernel/       pkg/          share/        

 dev/          lib/          platform/     shared/

 devices/      lost+found/   proc/         src/

 etc/          mnt/          rtools/       tmp/

ufsrestore> cd etc

ufsrestore> add passwd shadow

ufsrestore> verbose

verbose mode on

ufsrestore> extract

Extract requested files

You have not read any volumes yet.

Unless you know which volume your file(s) are on you should start 

with the last volume and work towards the first.

Specify next volume #: 1

extract file ./etc/shadow

extract file ./etc/passwd

Add links

Set directory mode, owner, and times.

set owner/mode for `.'? [yn] n

ufsrestore> quit

# cd etc

# mv passwd /etc

# mv shadow /etc

# ls -l /etc