Solaris のシステム管理 (第 1 巻)

ファイルをリモートテープドライブにコピーする方法 (tardd)

  1. リモートテープドライブを使用するには、次の前提条件を満たしている必要があります。

    • ローカルホスト名 (および、オプションで、コピーしているユーザーのユーザー名) が、リモートシステムの /etc/hosts.equiv ファイル内になければならない。あるいは、コピーしているユーザーは、リモートマシン上の自分のホームディレクトリをアクセス可能にしておかなければならない。さらに、$HOME/.rhosts 内にローカルマシン名がなければならない。詳細は、hosts.equiv(4) を参照。

    • リモートシステムのエントリがローカルシステムの /etc/inet/hosts ファイル内またはネームサービスの hosts ファイル内になければならない。

  2. リモートコマンドを実行するための適切なアクセス権を持っているかどうかをテストするには、次のように入力します。


    $ rsh remotehost echo test
    

    「test」と表示された場合、リモートコマンドを実行するためのアクセス権を持っています。「Permission denied」と表示された場合、上記の手順 1 の内容を確認してください。

  3. tar コマンドと dd コマンドを使用して、ファイルをリモートのテープドライブにコピーします。


    $ tar cf - files | rsh remotehost dd of=/dev/rmt/n obs=blocksize
    

    tar cf

    テープアーカイブを作成し、テープデバイスを指定する。 

    - (ハイフン)

    可変部としてテープデバイスの代わりに指定する。 

    files

    コピーするファイル 

    | rsh remotehost

    tar コマンドの出力がパイプを通してリモートシェルに渡され、ファイルがコピーされる。

    dd of=/dev/rmt/n

    出力デバイスを指定する。 

    obs=blocksize

    ブロック係数を指定する。 

  4. テープをドライブから取り出して、テープラベルにファイル名を記入します。

例 - ファイルをリモートテープドライブにコピーする (tardd)


# tar cvf - * | rsh mercury dd of=/dev/rmt/0 bs=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