tarアーカイブ内から、特定キーワードを含むファイルを指定してリストアする:UNIX処方箋
現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回は、tarコマンドとgrepコマンドを組み合わせた高度なリストア方法を伝授します。
バックアップの際、特定ディレクトリをtarコマンドで1つのファイルに固めることでバックアップファイルを作成しています。そしてリストアの際には、いったんすべて展開してから必要なファイルを取得しています。
しかしこの方法だと、必要なファイルが少数の場合にもすべて展開しなければならず、面倒です。特定ファイルのみ、または特定キーワードでファイルを指定してリストアすることはできないでしょうか?
可能です。tarコマンドとgrepコマンドを組み合わせることで、特定ファイルだけ、あるいは特定キーワードを含むファイル群をリストアできるようになります。
まず、特定のファイルのみであれば、「tar xvf <アーカイブファイル名> <リストアファイル名>」というコマンド指定で特定ファイルをリストアできます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
しかし、tarコマンドでは、ファイル名指定にワイルドカードを使用できないため、特定キーワードを指定して展開といったことは難しい状態です。そこで、リスト1のようにtarコマンドの「t」オプションとgrepコマンドを組み合わせることで、特定キーワードを含むファイルを検索し、リストアします(実行例1)。
tar xvf <アーカイブファイル名> `tar tf <アーカイブファイル名> | grep '<キーワード>'`
- 利用しているオプション
x : アーカイブの抽出/復元
t : アーカイブ内のディレクトリ/ファイルの一覧表示
v : 詳細情報の表示(アクセス権などの情報も表示)
f : ファイルを指定する場合(アーカイブファイル、テープデバイス名)
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
tarコマンドの「t」オプションを使用し、アーカイブ内のファイル/ディレクトリの一覧をgrepコマンドに渡し、grepコマンドで一覧の中からキーワードを検索します。検索されたファイルは、tarコマンドの「x」オプションによって復元されます。
関連記事
- /etc/systemファイルの編集に失敗してマシンが起動しない場合の対処法
- Perlを用いた自動FTP転送
- iノード数の変更方法
- Solaris 8以前と9以降のログローテーション設定の違い
- HTTPSサーバを構築する
- SolarisからIPv6ルーターのようにRAを配信する
- Solstice Backup 7.1によるディスクバックアップ
- シェルスクリプトによる特定ファイルのバックアップ
- 9個以上のディスクスライス作成
- bashが起動時に実行するファイル
- acctcomコマンドによる終了ステータスの確認
- 電源制御キーの役割と無効化
- 「load average」によるCPU負荷の確認
- FTP利用でのファイル/ディレクトリの属性変更
- UFS loggingによるエラーと復旧方法
- ALOMにおけるSC用ユーザーの確認とパスワード変更
- PostgreSQLのテーブルデータをファイルへコピーする方法
- sotrussやapptraceによる実行コマンドのトレース
- TCP遅延肯定応答タイマーのタイムアウト値の変更
- 複数のマシンで効率的にシャットダウンする方法
- WWW::MechanizeモジュールによるWebアクセスの自動化
- IPv6アドレスの自動生成による不具合解消法
- キャッシュファイルを利用したNFSマウント
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.