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

将文件复制到远程磁带设备

Procedure如何将文件复制到远程磁带设备(tardd

  1. 必须满足以下先决条件,才能使用远程磁带机:

    1. 本地主机名和(可选)执行复制的用户的用户名必须出现在远程系统的 /etc/hosts.equiv 文件中。或者,执行复制的用户在远程计算机上必须具有可访问的对应起始目录,而且在 $HOME/.rhosts 中必须具有本地计算机名。

      有关更多信息,请参见 hosts.equiv(4) 手册页。

    2. 远程系统的项必须位于本地系统的 /etc/inet/hosts 文件中,或位于名称服务 hosts 文件中。

  2. 要测试您是否具有执行远程命令的适当权限,请键入以下内容:


    $ rsh remotehost echo test
    

    如果系统向您回显了 test,则您有权执行远程命令。如果系统向您回显了 Permission denied,请按照步骤 1 所述检查您的设置。

  3. 转到要放置文件的目录。

  4. 将磁带插入磁带机。

  5. 将文件复制到远程磁带机。


    $ tar cvf - filenames | rsh remote-host dd of=/dev/rmt/n obs=block-size
    
    tar cf

    创建磁带归档文件,归档时列出文件并指定磁带设备。

    v

    提供有关 tar 文件项的其他信息。

    -(连字符)

    表示磁带设备的占位符。

    filenames

    标识要复制的文件。使用空格分隔多个文件。

    rsh | remote-host

    tar 命令的输出传输到远程 shell。

    dd of= /dev/rmt/n

    表示输出设备。

    obs=block-size

    表示分块因子。

  6. 从磁带机中取出磁带。在磁带标签中写入文件名称。


示例 29–12 将文件复制到远程磁带机(tardd


# tar cvf - * | rsh mercury dd of=/dev/rmt/0 obs=126b

a answers/ 0 tape blocks

a answers/test129 1 tape blocks

a sc.directives/ 0 tape blocks

a sc.directives/sc.190089 1 tape blocks

a tests/ 0 tape blocks

a tests/test131 1 tape blocks

6+9 records in

0+1 records out

Procedure如何从远程磁带设备中提取文件

  1. 将磁带插入磁带机。

  2. 转至临时目录。


    $ cd /var/tmp
    
  3. 从远程磁带设备中提取文件。


    $ rsh remote-host dd if=/dev/rmt/n | tar xvBpf -
    
    rsh remote-host

    指明使用 dd 命令从磁带设备中提取文件时启动的远程 shell。

    dd if=/dev/rmt/n

    指明输入设备。

    | tar xvBpf -

    dd 命令的输出传输到用于恢复文件的 tar 命令。

  4. 确认文件已被提取。


    $ ls -l
    

示例 29–13 从远程磁带机中提取文件


$ cd /var/tmp

$ rsh mercury dd if=/dev/rmt/0 | tar xvBpf -

x answers/, 0 bytes, 0 tape blocks

x answers/test129, 48 bytes, 1 tape blocks

20+0 records in

20+0 records out

x sc.directives/, 0 bytes, 0 tape blocks

x sc.directives/sc.190089, 77 bytes, 1 tape blocks

x tests/, 0 bytes, 0 tape blocks

x tests/test131, 84 bytes, 1 tape blocks

$ ls -l