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

対話式でない方法で特定のファイルを復元する方法

  1. スーパーユーザーになります。

  2. 安全のためにテープを書き込み保護の状態にします。

  3. ボリューム 1 のテープをテープドライブに挿入します。

  4. ファイルを一時的に復元するためのディレクトリに移動します。


    # cd /var/tmp
    

    他のユーザーとの衝突を防ぐために、/var/tmp などのサブディレクトリを作成し、そのディレクトリに移動して、ファイルを復元することをお勧めします。

    階層を復元する場合は、ファイルを置くファイルシステム上の一時ディレクトリにファイルを復元します。復元後、mv コマンドで、階層全体を目的の場所に移動します。

  5. ufsrestore コマンドを使ってファイルを復元します。


    # ufsrestore xvf /dev/rmt/n filename ...

    x

    引数 filename 内に指定されたファイルまたはディレクトリをコピーするように ufsrestore コマンドに指定する。

    v

    復元するファイル名を表示する。 

    f /dev/rmt/n

    テープデバイス名を識別する。 

    filename ...

    空白で区切られた 1 つ以上の個別のファイルまたはディレクトリの名前。例 : ./export/home/user1/mail ./export/home/user2/mail.

  6. ファイルが入っているボリューム番号を入力して、Return キーを押します。


    Specify next volume #: 1
    

    ファイルは現在の作業ディレクトリに復元されます。

  7. 現在のディレクトリのモードを変更したくない場合は、set owner/mode プロンプトが表示されたときに n と入力して Return キーを押します。


    set owner/mode for '.'? [yn] n
    
  8. 復元されたファイルを確認します。

    1. 復元されたファイルとディレクトリを表示します。


      # ls -l
      

      ファイルとディレクトリのリストが表示されます。

    2. リストをチェックして、リストに指定したすべてのファイルとディレクトリが復元されていることを確認します。

    3. ファイルを適切なディレクトリに移動します。

例 - 特定のファイルを復元する

この例では、passwdshadow ファイルが /var/tmp ディレクトリに復元されます。


# cd /var/tmp
# ufsrestore xvf /dev/rmt/0 ./etc/passwd ./etc/shadow
Verify volume and initialize maps
Media block size is 126
Dump   date: Tue Jun 09 14:30:16 1998
Dumped from: the epoch
Level 0 dump of / on pluto:/dev/dsk/c0t3d0s0
Label: none
Extract directories from tape
Initialize symbol table.
Warning: ./etc: File exists
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/passwd
Add links
Set directory mode, owner, and times.
set owner/mode for `.'? [yn] n
Directories already exist, set modes anyway? [yn] n
# cd etc
#  mv passwd /etc
# mv shadow /etc
# ls -l etc