= OpenDS LDIF Export
**Summary**: How to do a openDs LDIF export. \\
**Date**: Around 2012 \\
**Refactor**: 8 March 2025: Checked links and formatting. \\
{{tag>opends ldap bash}}
This script will create a ldif export from a running OpenDS installation.
#!/bin/bash
# set -x
# Created by s.hooft, 22-03-2011, sjoerd_warmetal.nl
### Script Variables
WHATAMI=`basename $0`
### LDAP Variables
DUMPDIR=/var/backup/ldif
MANAGER=cn=manager
PASSWD=xxxxxxxx
HOSTNAME=`hostname`
HOSTNAME_SHORT=`hostname -s`
LDAPBASE="o=company.local"
### Offsitecopy Variables
GZIP=/usr/bin/gzip
. "/opt/scripts/mail.txt"
. "/opt/scripts/offsitecopy.func"
TOUSER="repluser"
TOHOST="syncsrv.company.local"
TODIR="/srv/syncdata/LDAP"
LDIFFILE=${DUMPDIR}/${HOSTNAME_SHORT}-LDAP_`date +%Y%m%d%H%M`.ldif
BACKUPFILE="$LDIFFILE.gz"
LOGFILE=${DUMPDIR}/ldapbackup.log
DOCOPY="1"
### Create new logfile
echo "Creating ldif backup $LDIFFILE using $MANAGER on $LDAPBASE" > $LOGFILE
mailFunction() {
if [ "$1" == "LDIF" ]; then
echo "LDIF backup was not created succesfully, consult $LOGFILE on ${HOSTNAME}" | mail -s "Failed $1 Backup" $MAILTOFAIL
fi
if [ "$1" == "GZIP" ]; then
echo "Tar or zip was not created succesfully, consult $LOGFILE on ${HOSTNAME}" | mail -s "Failed $1 Backup" $MAILTOFAIL
fi
exit
}
backupFunction () {
/opt/OpenDS-2.2.0/bin/export-ldif --bindDN "$MANAGER" --bindPassword "$PASSWD" --backendID userRoot --trustAll --excludeAttribute entryUUID --ldifFile $LDIFFILE >> $LOGFILE
LDIFRESULT=$?
if [ ! "$LDIFRESULT" == "0" ]; then
mailFunction LDIF
fi
$GZIP $LDIFFILE >> $LOGFILE
GZIPRESULT=$?
if [ ! "$GZIPRESULT" == "0" ]; then
mailFunction GZIP
fi
copyFunction
}
copyFunction() {
if [ "$DOCOPY" == "1" ]; then
offsitecopy "${BACKUPFILE}" "$TOUSER" "$TOHOST" "$TODIR" "$LOGFILE" "$WHATAMI" "$HOSTNAME" "$MAILTOSUCCESS" "$MAILTOFAIL"
else
echo >> $LOGFILE
echo "Copy to offsite location is not enabled." >> $LOGFILE
echo "Modify the script under Offsitecopy Variables to enable offsitecopy" >> $LOGFILE
echo >> $LOGFILE
fi
}
backupFunction
exit
The offsitecopy.func and mail.txt can be found [[offsitecopy|here]].
//This wiki has been made possible by://