Frage

Ich habe eine Gruppe von Berkeley-DB-Dateien auf meinem Linux-Dateisystem, das würde ich gerne untersuchen.

Was für nützliche tools vorhanden sind, um eine schnelle übersicht über den Inhalt?Ich kann schreiben, Perl-Skripts, mit denen BDB-Module für die Prüfung, aber ich bin auf der Suche für einige CLI-Dienstprogramm, um in der Lage sein zu nehmen einen Blick in die zimmerreserviereung, ohne das start-Skripts schreiben zu müssen.

War es hilfreich?

Lösung

Überprüfen Sie heraus die db-utils Paket.Wenn Sie apt benutzen, können Sie es mit den folgenden: apt-get install db4.4-util (oder apt-get install db4.8-util oder welche version Sie haben oder lieber.)

Weitere links:

Andere Tipps

Verwenden Sie die db_dump Programm.Es ist enthalten in die Paket core/db (Arch), db-util (Debian, Ubuntu), sys-libs/db (Gentoo, beachten Sie, dass hier der binären genannt db4.8_dump oder welche version Sie verwenden).

Auf einigen Systemen die man pages nicht installiert, in diesem Fall die Dokumentation finden Sie hier.Standardmäßig db_dump Ausgänge einige hex-zahlen, die nicht wirklich nützlich, wenn Sie versuchen, zu analysieren, den Inhalt einer Datenbank.Verwenden Sie die -p argument, das zu ändern.

Zeigen Sie alles, was in der Datei database.db:

db_dump -p database.db

Liste der Datenbanken in der Datei database.db:

db_dump -l database.db

Zeigen Sie nur die Inhalte der Datenbank mydb in der Datei database.db:

db_dump -p -s mydb database.db

Ich fand @strickli Antwort auf die meisten hilfreich, da ich nicht wollen, fügen Sie neue Pakete auf die Maschine mit der Datenbank, die ich war.Jedoch, die db-Datei, die ich Las, war der Typ btree, hash nicht, also musste ich 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
...

Wie bereits in den anderen Antworten, die db-utils-Paket (db4-utils unter RHEL) hat einige Werkzeuge.Doch db_dump werden kann, wenig hilfreich, da die Ausgabe 'bytevalue' - format.

Für eine schnelle Lösung viewer, die python verwenden:

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
...

Beachten Sie, dass dbhash ist veraltet seit python 2.6.

Die db_hotbackup Dienstprogramm erstellt die "hot-backup" - oder "hot failover" snapshots von Berkeley-DB-Datenbank-Umgebungen.Installieren Sie es mit folgenden

apt-get install-db-util

führen Sie dann folgenden Befehl hot backup

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

Wenn Sie installiert haben die db-utils können Sie einfach tun db_dump auf die db-Datei.

Beachten Sie, dass die erste Antwort sagt zu "db-utils" - Paket, aber das Beispiel zeigt den richtigen "db-util-Paket".(ohne "s")

Unter Amazon Linux können Sie installieren mit:

yum install db43-utils

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top