LDAP data import export

From Zimbra :: Wiki

Jump to: navigation, search
   Article-check.png  - This is certified documentation and is protected for editing by Zimbra Employees & Moderators only.


Admin Article

Article Information

This article applies to the following ZCS versions.
  ZCS 8.0 Article  ZCS 8.0
  ZCS 7.0 Article  ZCS 7.0
  ZCS 6.0 Article  ZCS 6.0

Contents

Zimbra OpenLDAP Server

Data export

Zimbra ships with a utility to export the configuration and main databases as /opt/zimbra/libexec/zmslapcat. It takes a destination directory as an argument for where to store the exported data. A timestamped export of the database will be created. It is safe to run zmslapcat while the LDAP server is running.

Example of main database export:

 /opt/zimbra/libexec/zmslapcat /tmp

Example of configuration database export:

 /opt/zimbra/libexec/zmslapcat -c /tmp

Example of an accesslog database export (8.0.2 and later):

/opt/zimbra/libexec/zmslapcat -a /tmp

Data import

To import data, the existing database will need to be deleted. You must have a valid LDIF data export to use for import. If you delete the current database off of the disk, there will be no way to recover it from that system.

Preparing for data import

As the Zimbra user:

  • Stop slapd
 ldap stop
  • ZCS 6 and 7: Clean up the old database and move it to a new location
 cd /opt/zimbra/data/ldap/hdb/db
 /opt/zimbra/bdb/bin/db_recover
 cd ../..
 mv hdb hdb.old
  • ZCS 8 and later: Clean up the old database and move it to a new location
 cd /opt/zimbra/data/ldap
 mv mdb mdb.old
  • ZCS 6 and 7: Create the new directory structure and restore database tuning
 mkdir -p hdb/db
 mkdir -p hdb/logs
 cd hdb/db
 cp ../../hdb.old/db/DB_CONFIG .
  • ZCS 8 and later: Create the new directory structure:
 mkdir -p mdb/db
  • WARNING: ONLY REMOVE AND RELOAD THE CONFIG DB IF ABSOLUTELY NECESSARY. Reloading the config db should rarely be necessary (unless you customized the config). To do so though and only if necessary, you would need to clear the config/ directory and import the config data:
 cd /opt/zimbra/data/ldap
 mv config config.bak
 mkdir config
  • ZCS 8: Reloading the accesslog DB would only apply to a master or multi-master scenario. If necessary:
 cd /opt/zimbra/data/ldap
 mv acccesslog accesslog.old
 mkdir -p accesslog/db

Importing the LDAP data

As the Zimbra user:

  • WARNING: ONLY REMOVE AND RELOAD THE CONFIG DB IF ABSOLUTELY NECESSARY. If the config data had been removed (if /opt/zimbra/data/ldap/config is empty), import the LDAP config data:

Prior to ZCS 8.0.2:

/opt/zimbra/openldap/sbin/slapadd -q -n 0 -F /opt/zimbra/data/ldap/config -cv -l /tmp/ldap-config.bak

ZCS 8.0.2 or later:

/opt/zimbra/libexec/zmslapadd -c /tmp/ldap-config.bak
  • Import the production LDAP database. The last argument is the full path to the data export file:

Prior to ZCS 8.0.2:

/opt/zimbra/openldap/sbin/slapadd -q -b "" -F /opt/zimbra/data/ldap/config -l /tmp/ldap.bak

ZCS 8.0.2 or later:

/opt/zimbra/libexec/zmslapadd /tmp/ldap.bak
  • Import the accesslog LDAP database via the zmslapadd command. The last argument is the full path to the export:

ZCS 8.0.2 or later:

/opt/zimbra/libexec/zmslapadd -a /tmp/ldap-accesslog.bak

It may be helpful to review OpenLDAP Performance Tuning Wiki first to see if there are adjustments to the DB_CONFIG file that are desired prior to import.

Verified Against: ZCS 8.0, ZCS 7.0, ZCS 6.0 Date Created: 10/15/2010
Article ID: http://wiki.zimbra.com/index.php?title=LDAP_data_import_export Date Modified: 09/18/2013
Personal tools