OpenLDAP резервне копіювання та відновлення

Для створення резервної копії бази в LDIF-файл є два основні інструменти - slapcat/slapadd , що працює безпосередньо з базою даних, і ldapsearch/ldapadd , що працюють через LDAP-сесії (див. RFC 4511 ).

Насправді, і slapcat і slapadd є просто симлінками на сам slapd :

slapcat/ldapsearch утиліти мають деякі відмінності, хоча обидва надають інформацію у форматі LDIF (LDAP Data Interchange Format — див. RFC 2849 )

slapcat/slapadd

ldapsearch/ldapadd

Це основні відмінності в цих інструментах.

Перейдемо до прикладів виконання бекапа/відновлення бази.

Знайдемо наявніDIT (Directory Information Tree, так само - namingContexts ):

Створення резервної копії базиLDAP за допомогою утиліти slapcat :

-nN - Вказівка ​​порядкового номераDIT, для якого необхідно виконати операцію, при цьому база cn = config завжди має -n 0, інші - в порядку перерахування їх у конфігурації; -a filter — виконання операції лише для записів, які під заданий фільтр; -c – ігнорувати повідомлення про помилки копіювання; -d - debug-level (див. loglevel або український переклад тут >>> ); -v - verbose , увімкнути докладний режим виконання.

Вміст отриманого файлу виглядатиме приблизно так:

Перед використанням slapadd – зупиняємо сервер:

Тепер - видалимо наявні файли бази db_1, крім файлу DB_CONFIG:

Виконуємо slapadd за допомогою ключа -l вказуємо файл, з якого необхідно відновити дані:

За допомогою ldapsearch перевіряємо нашу базу:

Базу відновлено до початкового стану.

Видаляємо інформацію зDIT :

Тут ключ -r для рекурсивного видалення всіх записів.