Backup
To backup the entire LDAP database we can make use of the command slapcat. The slapcat command genetates a LDIF (LDAP Directory Interchange Format) file contianing the dump of entire LDAP database.
slapcat -v -l ldap-backup.ldif
The above command generates a backup file named ldap-backup.ldif in the current directory.
Without the -l option slapcat writes the content to standard output.
The slapcat command reads the ldap configuration file at the default location (/etc/openldap/slapd.conf) and takes the database dump. We can provide a LDAP configuartion file at a different location using -f option as given below.
slapcat -v -f /etc/openldap/slapd.conf -l ldap-backup.ldif
Restore
To restore the database from the earlier backup LDIF file we can use slapadd command.
slapadd -l ldap-backup.ldif
In case files already exist in the LDAP database location we have to clear them before restoring using slapadd while retaining the DB_CONFIG file. The sample DB_CONFIG file should be in /etc/openldap/DB_CONFIG.example.
rm -fr /var/lib/ldap/example.in/*
Once the files are cleared you should be able to restore the database using slapadd given above.
On successful completion of the restoration restart the LDAP server.
service ldap restart