Solaris のシステム管理 (基本編)

ディレクトリ内のすべてのファイルをテープにコピーする方法 (cpio)

  1. コピーするファイルの存在するディレクトリに移動します。

  2. 書き込み可能なテープをテープドライブに挿入します。

  3. ファイルをテープにコピーします。


    $ ls | cpio -oc> /dev/rmt/n
    

    ls

    cpio コマンドにファイル名のリストを渡す。

    cpio -oc

    cpio コマンドがコピーアウトモード (-o) で動作し、ASCII 文字形式 (-c) でヘッダー情報を書き込むように指定する。これらのオプションにより他のベンダーのシステムとの互換性を保つ。

    > /dev/rmt/n

    出力ファイルを指定する。 

    ディレクトリ内のすべてのファイルは、指定したドライブ内のテープにコピーされ、テープ上の既存のファイルが上書きされます。コピーされた合計ブロック数が表示されます。

  4. ファイルがテープにコピーされていることを確認します。


    $ cpio -civt < /dev/rmt/n
    

    -c

    ファイルを ASCII 文字形式で読み込むように指定する。 

    -i

    cpio がコピーインモードで動作することを指定する。この時点ではファイルをリストするだけ。

    -v

    ls -l コマンドの出力と同様の形式で出力を表示する。

    -t

    指定したテープドライブ内のテープ上にあるファイルの内容一覧を表示する。 

    < /dev/rmt/n

    既存の cpio アーカイブの入力ファイルを指定する。

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

例 — ディレクトリ内のすべてのファイルをテープにコピーする (cpio)

次の例では、 /export/home/kryten ディレクトリ内のすべてのファイルをテープドライブ 0 のテープにコピーする方法を示します。


$ cd /export/home/kryten
$ ls | cpio -oc> /dev/rmt/0
16 blocks
$ cpio -civt < /dev/rmt/0
-r--r--r--    1 kryten   staff         76 Oct  7 08:17 2003, filea
-r--r--r--    1 kryten   staff         76 Oct  7 08:17 2003, fileb
-r--r--r--    1 kryten   staff         76 Oct  7 08:17 2003, filec
drwxr-xr-x    2 kryten   staff          0 Oct  7 08:17 2003, letters
drwxr-xr-x    2 kryten   staff          0 Oct  7 08:18 2003, reports
16 blocks
$