Используемый: openldap-servers-2.4.23-34.el6_5.1.x86_64
Задача: создать скрипт для crontab
создания полной резервной копии запланированной базы данных.
1) slapcat
- создать файл в формате по умолчанию, Berkeley DB.
2) slapcat
может быть сделано во время slapd
работы (если bdb/hdb
база данных используется).
3) Для восстановления файла после slapcat
- должен использоваться slapadd
(не ldapadd
).
4) slapcat/add
не требует пароля.
5) slapadd
можно сделать только при slapd
остановке.
Пример:
$ slapcat -f /etc/openldap/slapd.conf -b "dc=db_1" -l db_1_backup.ldif
$ slapadd -l db_1_backup.ldif
Вместо slapcat/add
- давайте взглянем на ldapsearch/add
:
1) ldapsearch
- создает файл с почти такой же информацией, как slapcat
;
2) ldapadd
- может использовать файл ldapsearch
, не требует slapd
остановки;
3) ldapadd/search
- требует пароль.
Пример:
$ ldapsearch -D "cn=root,dc=db_1" -W -b "dc=db_1" "dc=db_1" -LLL > db_1_backup2.ldif
$ ldapadd -x -D "cn=root,dc=db_1" -W -f db_1_backup2.ldif
Итак - вопрос такой:
1) Я что-то упустил в этом описании инструментов?
2) В чем еще разница между ldapadd/slapadd
а ladpsearch/slapcat
?
slapcat
возвращает записи в порядке базы данных (бэкэнда), который может быть или не быть четко определенным.ldapsearch
по умолчанию возвращается в том порядке, в котором отвечает сервер, в OpenLDAP есть выбор сортировки на стороне клиента (например-S ""
) или управления сортировкой на стороне сервера (например-E sss
, если поддерживается и зависит от незначительных ловушек, связанных с конфигурацией и схемой). Спецификация говорит, что результаты поиска могут быть в любом порядке. Реализация могла бы определить порядок по умолчанию, большинство людей предполагают, что по умолчанию «родительский элемент перед дочерним», это только в OpenDS, AFAIK.slapcat
не работает, если у вас есть оверлеи, напримерmemberOf
. Так что если вы сделаете членствоslapcat
/slapadd
цикл, оверлеи больше не будут работать.источник