Форум проекта Pro-LDAP.ru

Общие вопросы по LDAP => Общий раздел => Тема начата: Виктор от 23 Март 2015, 11:50:00

Название: Как правильно использовать ldapmodify
Отправлено: Виктор от 23 Март 2015, 11:50:00
Добрый день, коллеги!
Возникла насущная проблема с обновлением пользователей в базе LDAP.
 У меня есть база данных, которая раз в сутки выгружает пользователей в .ldif файл, далее по крону, это дело с помощью команды ldapadd (ldapadd -x -c -D cn=manager,dc=nbs,dc=nvg,dc=ru -f /home/integration/LDIF/ldif_export.ldif -w туттипапароль )грузится в LDAP.
Но т.к. команда ldapadd стопорится, если видит уже существующие записи, я добавил аргумент "-c" , дабы пропускать дубли и добавлять только новые записи. С одной стороны это хорошо, новые записи исправно добавляются, но с другой, если у старой записи поменялся к примеру номер телефона, город, фамилия и т.д., инфа не обновляется, а для ее обновления надо удалить контакт и заново все прогрузить...(на мой взгляд это не наш метод, т.к. в LDAP есть записи которые заведены только в LDAP и их нет в общей базе из которой идет выгрузка).

Возникает закономерный вопрос, как можно обновлять записи в LDAP без их удаления и нового добавления? Поможет ли в этом команда ldapmodify?
Название: Re: Как правильно использовать ldapmodify
Отправлено: egor от 24 Март 2015, 15:01:24
Здравствуйте, Виктор. ldapmodify действительно предназначен именно для внесения изменений в существующие записи каталога. Формат LDIF (http://pro-ldap.ru/tr/man/ldif.5.html), который он принимает на вход, несколько сложнее, чем для ldapadd, но разобраться с этим (http://pro-ldap.ru/tr/zytrax/ch8/) проблем не составит. Основная проблема в другом -- как Вы собираетесь отслеживать, изменилась ли запись а БД и что именно в ней изменилось? Если Вы это сможете сделать, то формируйте отдельный ldif-файл для ldapadd, отдельный -- для ldapmodify и применяйте их оба.

Егор