Exemple de script de sauvegarde
Voici un exemple de script de sauvegarde qui pourrait être appliqué sur le serveur OpenLDAP de démonstration :
#!/bin/bash 
# 
################################################################ 
# Author: XXX 
# Date:  
# Comment: script for backuping the openldap server 
# XX/XX/XXXX    1.0     Initial version, XXX 
################################################################ 
VERSION="1.0" 
BACKUPDIR=/backup/openldap 
DATADIR=var/lib/ldap 
SETTINGSDIR=etc/openldap 
timenow=`date +"%Y-%m-%d %H:%M:%S"` 
backupday=Monday 
ROOTSUFFIX="dc=exemple,dc=com" 
scriptname=`basename $0` 
logout=/var/log/`basename $0 |sed "s/\.bash//"`.log 
 
printmes () 
{ 
        tn=`date +"%Y%m%d %H:%M:%S"` 
        echo "$scriptname - $1 - $tn - $2" 
} 
 
exec 1>>$logout 2>&1 
 
echo 
echo "==========================================================" 
echo "Run at: $timenow" 
echo "==========================================================" 
printmes "BACKUP" "START" 
 
if [[ `date +"%A"` == $backupday ]] 
        then 
        printmes "BACKUP" "LDAP settings" 
                tar -cvf $BACKUPDIR/etc-openldap.tar -C / $SETTINGSDIR 
 
        printmes "BACKUP" "FULL LDAP DATA" 
                service slapd stop 
                # waiting for 5s 
                sleep 5 
                tar -cvf $BACKUPDIR/data-openldap.tar -C / $DATADIR 
                service slapd start 
                chmod 640 $BACKUPDIR/etc-openldap.tar $BACKUPDIR/ 
data-openldap.tar 
else 
        printmes "BACKUP" "NO PLANNED FULL LDAP DATA" 
fi 
        printmes "BACKUP" "LDIF LDAP DATA" 
                /usr/sbin/slapcat -b $ROOTSUFFIX -l $BACKUPDIR/ 
data-openldap.ldif 
                chmod 640 $BACKUPDIR/data-openldap.ldif 
        printmes "BACKUP" "LOG DB" 
                tar -cvf $BACKUPDIR/log-openldap.tar -C / $DATADIR/*.log 
         
printmes "BACKUP" "END" 
printmes "BACKUP" "END" 
        echo 
# END
Ce script permettra de réaliser une sauvegarde complète hors-ligne (arrêt du service LDAP) tous les lundis en archivant les répertoires de base : /var/lib/ldap et /etc/openldap, puis un export de l’annuaire sous le format LDIF les autres jours de la semaine sans arrêt du service LDAP avec en outre un archivage des fichiers journaux du backend et du répertoire de configuration. Les différents fichiers de sauvegarde obtenus seront copiés dans le répertoire /backup/openldap qu’il faudra aussi songer à sauvegarder sur un média (externe) via une solution de sauvegarde externe. Ce script devra également être placé en crontab afin d’être lancé automatiquement tous les jours de la semaine.