我的Linux文件系统上有一套Berkeley DB文件,我想查看。
有哪些有用的工具可以快速浏览内容?我可以编写使用BDB模块进行检查的Perl脚本,但我正在寻找一些CLI实用程序,以便能够在不必开始编写脚本的情况下查看内容。
答案 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