从CLI检查Berkeley DB文件

时间:2008-09-01 09:10:27

标签: linux command-line-interface berkeley-db

我的Linux文件系统上有一套Berkeley DB文件,我想查看。

有哪些有用的工具可以快速浏览内容?我可以编写使用BDB模块进行检查的Perl脚本,但我正在寻找一些CLI实用程序,以便能够在不必开始编写脚本的情况下查看内容。

7 个答案:

答案 0 :(得分:23)

查看 db-utils 包。如果您使用apt,则可以使用以下内容进行安装:apt-get install db4.4-util(或apt-get install db4.8-util或您拥有或喜欢的任何版本。)

其他链接:

答案 1 :(得分:14)

我发现@ strickli的回答是最有帮助的,因为我不想用我所在的数据库将任何新包添加到机器上。但是,我读的db文件是btree类型,而不是hash,所以我不得不使用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
...

答案 2 :(得分:9)

正如其他答案中所提到的,db-utils包(RHEL下的db4-utils)有一些工具。但是,db_dump可能没有用,因为输出是'bytevalue'格式。

对于quick'n'dirty查看器,请使用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。

答案 3 :(得分:6)

db_hotbackup实用程序可创建Berkeley DB数据库环境的“热备份”或“热故障转移”快照。使用以下

安装它

apt-get install db-util

然后运行以下命令进行热备份

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

答案 4 :(得分:5)

安装db utils之后,您可以在db文件上执行 db_dump

答案 5 :(得分:3)

请注意,最初的答案是使用“db-utils”包,但该示例显示了正确的“db-util”包。 (没有“s”)

答案 6 :(得分:2)

在Amazon Linux下,您可以使用以下命令安装它:

yum install db43-utils