从CLI检查Berkeley DB文件

linux command-line-interface berkeley-db

51931 观看

8回复

12371 作者的声誉

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

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

作者: mercutio 的来源 发布者: 2008 年 9 月 1 日

回应 (8)


23

13063 作者的声誉

决定

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

其他链接:

作者: David Crow 发布者: 01.09.2008 09:24

6

61 作者的声誉

db_hotbackup实用程序为Berkeley DB数据库环境创建“热备份”或“热故障转移”快照。使用以下内容安装它

apt-get install db-util

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

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

作者: Ishtiaq Ahmed 发布者: 20.02.2012 03:52

5

384 作者的声誉

一旦安装了db utils,就可以在db文件上执行db_dump操作。

作者: Gunnarsson 发布者: 15.02.2013 12:55

3

31 作者的声誉

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

作者: A.R. Pepper 发布者: 20.03.2013 08:04

9

1024 作者的声誉

正如其他答案中所提到的,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。

作者: strickli 发布者: 05.11.2013 04:07

14

151 作者的声誉

我发现@ 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
...
作者: trjh 发布者: 11.04.2014 04:48

2

827 作者的声誉

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

yum install db43-utils

作者: Dan Herman 发布者: 27.04.2015 07:54

30

3525 作者的声誉

使用该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

列出文件中的数据库database.db

db_dump -l database.db

仅显示mydb文件中数据库的内容database.db

db_dump -p -s mydb database.db
作者: cdauth 发布者: 20.12.2015 01:47
32x32