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 для рекурсивного видалення всіх записів.