Catégorie | admin

Sauvegarder et restaurer sa base OpenLDAP

Posted on 19 May 2010 by Thomas Ginestet

Sauvegarder sa base openLDAP ? Rien de plus simple si l’on prend un minimum de précautions.

Bien que vous puissiez faire cela à chaud, il est quand même conseillé de couper le service avant d’effectuer la sauvegarde. Si vous ne pouvez vous le permettre, vous pouvez également passer le démon slapd en lecture seule afin de ne pas corrompre la base sur une mauvaise manip.
Pour cela il suffit de rajouter dans le fichier de configuration slapd.conf la directive “readonly on” et de relancer le démon slapd.

Sauvegarde de la base:
- Couper le démon slapd (et vérifier qu’il se soit bien arrêté…).

- Ouvrir le fichier de configuration slapd.conf et noter le chemin indiqué par la directive “directory“: c’est le chemin d’accès à votre base LDAP.

- Dans ce répertoire, sauvegarder la totalité des fichiers .bdb qui vous permettront en cas de mauvaise manipulation de retrouver votre base dans son ancien état (il suffira alors de replacer ces fichiers dans le répertoire et de relancer le démon slapd).

- Lancer la commande:

thomas@cryonux:~$ slapcat -n 1 -c /oùvousvoulez/backup.ldif

-n spécifie le nombre de base LDAP dont vous disposez (correspond au nombre de directives “directory” de votre slapd.conf) et -c faisant abstraction des erreurs potentiellement rencontrées.

- Relancer le démon slapd et vérifier que tout fonctionne correctement.

Importation de la sauvegarde:

- Couper le démon slapd (et vérifier qu’il se soit bien arrêté…).

- Dans le répertoire indiqué par “directory“, sauvegarder les fichiers .bdb puis supprimer la totalité des fichiers contenu dans ce répertoire.

- Lancer la commande:

thomas@cryonux:~$ slapadd -n 1 -l /oùvousavezsauvegardé/backup.ldif

- Vérifier que les fichiers .bdb aient bien été reconstruits dans le répertoire indiqué par “directory” et qu’ils aient les bons droits d’accès (lecture et écriture seulement pour le propriétaire de la base).

- Relancer le démon slapd et vérifier que tout fonctionne correctement.

Commenter

(obligatoire)