12.13. Backing Up and Restoring Your Directory
Problem
Is there a special way to back up and restore your OpenLDAP directory, or can you use standard Linux utilities like rsync?
Solution
You can copy your database files just like any other files, so
go ahead and include them in your normal system backup. The directory option in
slapd.conf defines the database directory. You
should also use the two special OpenLDAP commands for backups and
restores: slapcat and
slapadd.
slapcat exports the contents of your database (which is defined in slapd.conf) into an LDIF-formatted file. If you have only one database, first stop your server, then run slapcat:
# /etc/init.d/slapd stop (Debian)
# /etc/init.d/ldap stop (Fedora)
# slapcat -l backupfile.ldifIf you have more than one, you should dump them separately. Use
the -b option to select them by
suffix:
# slapcat -b 'dc=alrac,dc=net' -l backupfile.ldifRestoring your data is done with slapadd. First, delete or move the existing database files from /var/lib/ldap, or wherever you are keeping them, then run this command:
# slapadd -l backupfile.ldifJust like slapcat, use the -b option to select a specific database to
restore to:
# slapadd -b 'dc=alrac,dc=net' -l backupfile.ldifStart up your OpenLDAP server, and you're back in business.
You may also use slapadd to build a brand-new database.
Want to automate your backups? Try this script:
#!/bin/sh ##/usr/local/bin/ldap-backup.sh BACKUPDIR=/root/ldap.backup ROTATION=30 mkdir -p $BACKUPDIR /etc/init.d/slapd ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access