mer*_*tio 51 linux berkeley-db command-line-interface
我在Linux文件系统上有一套Berkeley DB文件,我想查看一下.
有什么有用的工具可以快速浏览内容?我可以编写使用BDB模块进行检查的Perl脚本,但我正在寻找一些CLI实用程序,以便能够在不必开始编写脚本的情况下查看内部.
cda*_*uth 33
使用该db_dump程序.它包含在包core/db(Arch),db-util(Debian,Ubuntu)中,sys-libs/db(Gentoo,请注意这里调用了二进制文件db4.8_dump或者您正在使用的任何版本).
在某些系统上,未安装手册页,在这种情况下,可以在此处找到文档.默认情况下,db_dump输出一些十六进制数字,如果您尝试分析数据库的内容,这不是很有用.使用-p参数更改此设置.
显示文件中的所有内容database.db:
db_dump -p database.db
Run Code Online (Sandbox Code Playgroud)
列出文件中的数据库database.db:
db_dump -l database.db
Run Code Online (Sandbox Code Playgroud)
仅显示mydb文件中数据库的内容database.db:
db_dump -p -s mydb database.db
Run Code Online (Sandbox Code Playgroud)
Dav*_*row 23
查看db-utils包.如果您使用apt,则可以使用以下内容进行安装:( apt-get install db-util 或者apt-get install db4.8-util您拥有或喜欢的任何版本.)
其他链接:
小智 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
...
Run Code Online (Sandbox Code Playgroud)
正如其他答案中所提到的,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
...
Run Code Online (Sandbox Code Playgroud)
请注意,自python 2.6起不推荐使用dbhash.
小智 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
| 归档时间: |
|
| 查看次数: |
54299 次 |
| 最近记录: |