57

Linux ファイル システム上に、調べたい一連の Berkeley DB ファイルがあります。

コンテンツの概要をすばやく把握するための便利なツールは何ですか? BDB モジュールを使用して検査する Perl スクリプトを作成することはできますが、スクリプトを作成しなくても内部を確認できる CLI ユーティリティを探しています。

4

9 に答える 9

51

プログラムを使用しdb_dumpます。これは、パッケージcore/db(Arch)、db-util(Debian、Ubuntu)、 (Gentoo、ここではバイナリまたは使用しているバージョンsys-libs/dbが呼び出されていることに注意してください) に含まれています。db4.8_dump

一部のシステムでは、man ページがインストールされていません。その場合、ドキュメントはここにあります。デフォルトでは、db_dumpいくつかの 16 進数を出力しますが、これはデータベースの内容を分析しようとしている場合にはあまり役に立ちません。-pこれを変更するには、引数を使用します。

ファイル内のすべてを表示database.db:

db_dump -p database.db

ファイル内のデータベースを一覧表示しますdatabase.db

db_dump -l database.db

mydbファイル内のデータベースの内容のみを表示database.db:

db_dump -p -s mydb database.db
于 2015-12-20T01:47:41.510 に答える
24

db-utilsパッケージを確認してください。apt を使用する場合は、次の方法でインストールできます: apt-get install db-util (またはapt-get install db4.8-util、お持ちのバージョンまたは好みのバージョン)。

追加のリンク:

于 2008-09-01T09:24:51.850 に答える
15

私が使用していたデータベースを使用しているマシンに新しいパッケージを追加したくなかったので、@strickli の回答が最も役立つことがわかりました。ただし、私が読んでいたdbファイルはハッシュではなくbtreeタイプだったので、bsddbを使用する必要がありました

# file foo.db
foo.db: Berkeley DB (Btree, version 9, native byte-order)

# python
>>> import bsddb
>>> for k, v in bsddb.btopen("*<db filename here...>*").iteritems():
...     print k,v
...
于 2014-04-11T16:48:57.870 に答える
9

他の回答で述べたように、db-utils パッケージ (RHEL の db4-utils) にはいくつかのツールがあります。ただし、出力が「bytevalue」形式であるため、db_dump は役に立たない場合があります。

簡単なビューアーを作成するには、python を使用します。

me@machine$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
>>> import dbhash
>>> for k, v in dbhash.open( *<db filename here...>* ).iteritems(): print k, v
...

Python 2.6 以降、dbhash は非推奨になっていることに注意してください。

于 2013-11-05T16:07:06.513 に答える
6

db_hotbackup ユーティリティは、Berkeley DB データベース環境の「ホット バックアップ」または「ホット フェイルオーバー」スナップショットを作成します。以下でインストールします

apt-get インストール db-util

次に、次のコマンドを実行してホットバックアップを取得します

db_hotbackup [-cDEguVv] [-d data_dir ...] [-h home] [-l log_dir] [-P password] -b backup_dir

于 2012-02-20T03:52:15.597 に答える
6

db utils をインストールしたら、db ファイルでdb_dumpを簡単に実行できます。

于 2013-02-15T00:55:27.387 に答える
3

最初の回答では「db-utils」パッケージを使用するように指示されていますが、例では正しい「db-util」パッケージが示されていることに注意してください。(「s」なし)

于 2013-03-20T20:04:36.833 に答える
1

Amazon Linux では、次の方法でインストールできます。

yum インストール db43-utils

于 2015-04-27T19:54:36.863 に答える