#!/bin/bash if [ "$1" == "--before" ]; then for dir in `find /etc/dirsrv/ -mindepth 1 -maxdepth 1 -type d \ -name "slapd-*" | xargs -n 1 basename`; do for nsdb in `find /var/lib/dirsrv/${dir}/db/ -mindepth 1 \ -maxdepth 1 -type d | xargs -n 1 basename`; do ns-slapd db2ldif -D /etc/dirsrv/${dir} -n ${nsdb} \ -a /tmp/$(hostname)-$(echo ${dir} | sed -e 's/slapd-//g')-${nsdb}.ldif \ >/dev/null 2>&1 done done elif [ "$1" == "--after" ]; then rm -rf /tmp/*.ldif fi
Il faut d'abord stoper le service
service dirsrv stop ns-slapd ldif2db -D /etc/dirsrv/slapd-*$instance_name* -n *$database_name* -i /path/to/exported/database.ldif
*$instance_name* est égale au nom du serveur par exemple pour mon serveur s’appelant web.opensrc.fr le nom de l’instance sera web *$database_name* est egale au dc du ldap par exemple dans mon cas dc=opensrc,dc=fr donnera opensrc_fr