Автор Тема: Обслуживание логов Berkeley DB  (Прочитано 18442 раз)

Dmitry@INdig0

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Обслуживание логов Berkeley DB
« : 16 Август 2013, 08:23:10 »
Добрый день!

Для меня стоит вопрос удаления логов без остановки БД. (DB 4.8, OpenLDAP 2.4.23)
Читая документацию на db_archive прихожу к пониманию, что выполнение "db_archive -d" скорей всего безопасно и ее можно выполнять при работающей базе данных.

Подскажите, так ли это?

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: Обслуживание логов Berkeley DB
« Ответ #1 : 16 Август 2013, 09:37:54 »
Здравствуйте! Команда db_archive -d работает нормально и при запущенном slapd при соблюдени двух условий:
  • версия программы должна совпадать с версией БД (в Вашем случае, скорее всего будет db4.8_archive);
  • программа должна завершиться корректно (что чаще всего и происходит).
Чтобы не переживать, перед запуском сделайте дамп дерева с помощью slapcat.

Егор

Dmitry@INdig0

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Обслуживание логов Berkeley DB
« Ответ #2 : 16 Август 2013, 17:51:51 »
Здравствуйте! Команда db_archive -d работает нормально и при запущенном slapd при соблюдени двух условий:
  • версия программы должна совпадать с версией БД (в Вашем случае, скорее всего будет db4.8_archive);
  • программа должна завершиться корректно (что чаще всего и происходит).
Чтобы не переживать, перед запуском сделайте дамп дерева с помощью slapcat.

Егор

Спасибо, Егор, за быстрый ответ!

Нашел также запись "ПЕРЕД ЗАПУСКОМ ОСТАНОВИТЕ SLAPD - хотя в последних версиях (2.3+) OpenLDAP утверждается, что при использовании механизмов манипуляции данными HDB или BDB slapcat можно безопасно выполнять при запущенном slapd" http://pro-ldap.ru/tr/zytrax/ch14/

Можно все же запускать slapcat при работающей БД? Мне не очень удобно останавливать базу данных. Может есть иные способы создания бэкапа в этом случае?

Dmitry@INdig0

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Обслуживание логов Berkeley DB
« Ответ #3 : 16 Август 2013, 18:04:51 »
Судя по этой записи можно использовать slapcat на работающей базе

Можно использовать slapcat(8) для создания отдельных файлов LDIF для каждой из Ваших баз данных back-bdb или back-hdb.
    slapcat -f slapd.conf -b "dc=example,dc=com"
Для back-bdb и back-hdb данная команда может быть выполнена при запущенном slapd(8).

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: Обслуживание логов Berkeley DB
« Ответ #4 : 17 Август 2013, 03:37:45 »
Всё верно, для berkeley-баз slapcat можно выполнять при работающем slapd. Желательно, чтобы в это время в БД не вносилось изменений (если сомневаетесь, для olc-конфигурации можно временно перевести в режим readonly).

Егор