【 xfsrestore 】コマンド――xfsdumpで作ったバックアップを復元するLinux基本コマンドTips(204)

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

» 2018年04月27日 05時00分 公開
[西村めぐみ@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

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

xfsrestoreコマンドとは?

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

 xfsdumpコマンドとxfsrestoreコマンドは、XFSファイルシステム用です。ext2、ext3、ext4ファイルシステムでは、dumpコマンド(第201回)と、restoreコマンド(第202回)を使ってください。



xfsrestoreコマンドの書式

xfsrestore [オプション] -f バックアップファイル 復元先

xfsrestore [オプション] - バックアップファイル

※[ ]は省略可能な引数を示しています。




xfsrestoreの主なオプション

短いオプション 意味
-f ファイル名 バックアップファイルを指定する(ファイルやデバイスの他、リモートホストのファイルを指定可能、※1)
- バックアップファイルとして標準入力を指定
-r 累積的な復元(増分バックアップに対応した復元)を行う
-a ディレクトリ 復元の状況を保存するディレクトリを指定(デフォルトでは復元先の直下に「xfsrestorehousekeepingdir」という名前のディレクトリを作成する)
-L ラベル バックアップファイルをxfsdumpで保存したラベルで指定する(既存のラベルは-Iオプションで確認可能)
-S 識別子 バックアップファイルをxfsdumpで保存した汎用一意識別子(UUID)で指定する
-e 既存のファイルを上書きしない
-E 復元先のファイルが更新されている場合は復元しない
-n ファイル 指定したファイルよりもタイムスタンプが新しいファイルだけを復元する
-A 拡張属性は復元しない
-B 復元先の所有者とパーミッションをバックアップファイルのルートディレクトリの所有者、パーミッションと同一にする
-o rootで実行していない場合も所有者とグループの復元を試みる
-I 復元せず、過去に実行したxfsdumpの実行結果(/var/lib/xfsdump/inventory/に保存)を表示する
-J バックアップの記録(/var/lib/xfsdump/inventory/)を更新しない
-R 前回中断した所から再開する
-O ファイル xfsrestoreのオプションをファイルから読み込む
-t 復元せず、メッセージのみを表示する(※2)
-v モード 経過表示の詳しさを「0〜4」または「silent」「verbose」「trace」「debug」「nitty」のいずれかで指定する(※3)

※1 「-f」と「-」を同時に指定することはできない
※2 xfsrestoreの実行内容を事前に確認したい場合に使用する。復元されるファイル名を知りたい場合は「-v 2」を指定する。
※3 「0」が「silent」に相当。「-v silent -v drive=debug」(ドライブ関連だけdebugで、その他のメッセージは表示しない)のように表示の種類を細かく指定できる。指定できる種類は「general」「proc」「drive」「media」「inventory」「inomap」「excluded_files」。





バックアップを復元する

 「xfsrestore -f バックアップファイル 復元先」で、xfsdumpコマンドを使ったバックアップを全て復元します(画面1)。増分バックアップを復元したい場合は「-r」オプションも指定します。

 「-r」を指定すると復元先に「xfsrestorehousekeepingdir」というディレクトリが現れます。増分バックアップからの復元が終わった時点で、削除して構いません。

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

コマンド実行例

xfsrestore -f バックアップファイル 復元先

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

xfsrestore -rf バックアップファイル 復元先

(増分バックアップに対応できるように復元する)

xfsrestore -f /backup/data バックアップファイル 復元先

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

xfsrestore -f /backup/data.dump /data

(/backup/data.dumpを/dataに復元)(画面1


画面1 画面1 バックアップファイルを復元したところ


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

 xfsdumpコマンドの出力を、パイプを使ってxfsrestoreコマンドが受け取ることで、デバイスに保存したファイルを複製できます(画面2)。

 この場合、xfsdumpもxfsrestoreも、「-f」オプションは使用せず、標準入出力を意味する「-」を指定します。

コマンド実行例

xfsdump - デバイス名 | xfsrestore - 復元先

(指定したデバイスの内容を復元先に複製する)

xfsdump - /dev/sdb1 | xfsrestore - /mnt/sdb2

(/dev/sdb1の内容を/mnt/sdb2ディレクトリに複製する)


画面2 画面2 デバイスに保存されたファイルを/backupに複製したところ


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

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

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



筆者紹介

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

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のメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。