Я использую OpenLDAP slapd
на Fedora 14, и я вижу, что в каталоге базы данных есть log.0000000001
файл. Я хотел бы иметь возможность прочитать этот файл, так как меня интересуют последние произошедшие транзакции. Как мне прочитать этот файл?
Для общей базы данных Berkeley db4-utils
пакет, включающий некоторые инструменты для управления:
db_archive
db_checkpoint
db_deadlock
db_dump
db_dump185
db_load
db_printlog
db_recover
db_stat
db_upgrade
db_verify
Но если вы используете db_printlog
чтобы прочитать файлы журнала Berkeley из OpenLDAP, вы получите следующие ошибки:
db_printlog: версия программы 4.3 не соответствует версии среды db_printlog: DB_ENV-> open: DB_VERSION_MISMATCH: несоответствие версии среды базы данных
Причина в том, что OpenLDAP поставляется с инструментами внутреннего копирования db-4.3
:
slapd_db_archive
slapd_db_checkpoint
slapd_db_deadlock
slapd_db_dump
slapd_db_hotbackup
slapd_db_load
slapd_db_printlog
slapd_db_recover
slapd_db_stat
slapd_db_upgrade
slapd_db_verify
Итак, попробуйте это:
slapd_db_printlog -h /var/lib/ldap/ | less
Не знаю, как читать этот файл, но вы можете посмотреть «недавно» созданные или измененные записи с помощью
ldapsearch "(|(createTimestamp>=20110927221035Z)(modifyTimestamp>=20110927221035Z))" dn creatorsName createTimestamp modifiersName modifyTimestamp
OpenLDAP может использовать средства системного журнала для регистрации многих вещей. Не знаю, делает ли Fedora 14 (или с какой степенью подробности) это по умолчанию (или в вашей среде). (Вы, вероятно, уже проверили это, поэтому, вероятно, этого недостаточно.)
Более подробный ответ на ваш вопрос можно найти на http://www.openldap.org/faq/data/cache/738.html до того, как ссылки устарели. Хотя все это, кажется, ведет к документации Oracle, что неудивительно.