連載
» 2018年04月20日 05時00分 公開

Linux基本コマンドTips(202):【 restore 】コマンド――dumpで作ったバックアップを復元する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、dumpで作ったバックアップを復元する「restore」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回はdumpで作ったバックアップを復元(リストア)する「restore」コマンドです。

restoreコマンドとは?

 「restore」はバックアップからファイルを復元するコマンドです。対象となるのは「dump」コマンド(連載第201回)を用いたバックアップです。

 CentOSの場合「sudo yum install dump」でrestoreをインストールでき、Ubuntuの場合は「sudo apt install dump」を使います。いずれもdumpコマンドとともにインストールできます。



restoreコマンドの書式

restore 必須オプション [オプション]

※[ ]は省略可能な引数を示しています。必須オプションには「-r」「-i」「-x」「-t」のうち1つを選びます。




restoreの主なオプション(必須オブション、いずれか1つを指定)

短いオプション 意味
-r バックアップ内容を全て復元する(ファイルシステムを復元)
-i 対話モードで復元する
-x 指定したファイルやディレクトリだけを復元する
-t バックアップの内容を一覧表示する(バックアップ中の特定のファイル名を表示することもできる)

restoreの主なオプション(その他のオプション)

短いオプション 意味
-b サイズ dumpコマンド実行時のブロックサイズを指定する
-d デバッグ情報を出力する
-f ファイル名 バックアップファイルを指定する(ファイルやデバイスの他、リモートホストのファイルを指定可能)
-l リモートから復元する際、バックアップを通常ファイルとして扱う。圧縮されたバックアップをリモートから復元する際は必ず指定
-m ファイル名ではなくinodeを指定してファイルを復元する(-i、-x使用時)
-o カレントディレクトリのパーミッションを復元する(-i、-x使用時)
-T ディレクトリ 作業ディレクトリを指定する(-r使用時、デフォルトは/tmp)
-v 実行内容を表示する(verbose)
-X ファイル名 復元対象を収めたファイルを指定する(-t、-x使用時)
-y エラー時の問い合わせを行わない(スキップを試みる)


バックアップを復元する

 「restore -rf バックアップ」で、dumpコマンドを使ったバックアップを全て復元します(画面1)。復元後のファイルはカレントディレクトリに展開されるため、コマンド実行前にカレントディレクトリを復元したいディレクトリに移動してください。

 所有者などの情報も復元するには、root権限が必要です(連載第68回)。

 「-r」で全てのファイルを復元すると、カレントディレクトリに「restoresymtable」という名前のファイルが現れます。これは、増分バックアップ/復元の際に使用するもので、増分バックアップを行わない場合は削除して構いません。

 復元内容を事前に確認したい場合は「-r」の代わりに「-t」を使います。復元するファイルだけを指定したい場合は「-x」を使用します。

 復元中に、内容を確認したい場合は「-v」オプションを併用します。

コマンド実行例

restore -rf バックアップ

(dumpによるバックアップを全て復元する)

restore -rf バックアップ -v

(内容を表示しながら全て復元する)

restore -tf バックアップ

(dumpによるバックアップを一覧表示する)

restore -xf バックアップ ファイル

(指定したファイルだけを復元する)


画面1 画面1 バックアップから復元したところ


デバイスに保存したファイルを複製する

 dumpコマンドの出力を、パイプを使ってrestoreコマンドが受け取ることで、デバイスに保存したファイルを複製できます(画面2)。このとき、複製元と複製先のファイルシステムが同じ種類でなくても構いません。

 この場合、dumpもrestoreも、「-f」オプションで標準出力を意味する「-」を指定します。

コマンド実行例

dump -f - デバイス名 | restore -rf -

(指定したデバイスの内容をカレントディレクトリに複製する)

dump -f - /dev/sdb1 | restore -rf -

(/dev/sdb1の内容をカレントディレクトリに複製する)(画面2


画面2 画面2 デバイスに保存されたファイルをカレントディレクトリに複製したところ


増分バックアップを復元する

 dumpコマンドで増分バックアップ(第201回)を実行した場合、restoreコマンドでは初回のバックアップファイルから順番に復元しなければなりません。

 実行例は、第201回の画面5を参照してください。



筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。