検索
連載

tarアーカイブ内から、特定キーワードを含むファイルを指定してリストアするUNIX処方箋

現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回は、tarコマンドとgrepコマンドを組み合わせた高度なリストア方法を伝授します。

Share
Tweet
LINE
Hatena

バックアップの際、特定ディレクトリをtarコマンドで1つのファイルに固めることでバックアップファイルを作成しています。そしてリストアの際には、いったんすべて展開してから必要なファイルを取得しています。

 しかしこの方法だと、必要なファイルが少数の場合にもすべて展開しなければならず、面倒です。特定ファイルのみ、または特定キーワードでファイルを指定してリストアすることはできないでしょうか?


可能です。tarコマンドとgrepコマンドを組み合わせることで、特定ファイルだけ、あるいは特定キーワードを含むファイル群をリストアできるようになります。

まず、特定のファイルのみであれば、「tar xvf <アーカイブファイル名> <リストアファイル名>」というコマンド指定で特定ファイルをリストアできます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

特定のファイルのみのリストア

 しかし、tarコマンドでは、ファイル名指定にワイルドカードを使用できないため、特定キーワードを指定して展開といったことは難しい状態です。そこで、リスト1のようにtarコマンドの「t」オプションとgrepコマンドを組み合わせることで、特定キーワードを含むファイルを検索し、リストアします(実行例1)

tar xvf <アーカイブファイル名> `tar tf <アーカイブファイル名> | grep '<キーワード>'`

  • 利用しているオプション

x : アーカイブの抽出/復元

t : アーカイブ内のディレクトリ/ファイルの一覧表示

v : 詳細情報の表示(アクセス権などの情報も表示)

f : ファイルを指定する場合(アーカイブファイル、テープデバイス名)


リスト1 tarコマンドの「t」オプションとgrepコマンドを組み合わせ、特定キーワードを含むファイルをリストアする

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

実行例1 特定のキーワードを含むファイル群のリストア

 tarコマンドの「t」オプションを使用し、アーカイブ内のファイル/ディレクトリの一覧をgrepコマンドに渡し、grepコマンドで一覧の中からキーワードを検索します。検索されたファイルは、tarコマンドの「x」オプションによって復元されます。

関連キーワード

UNIX処方箋 | バックアップ | Solaris


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る