SHIFT-WIKI - Sjoerd Hooft's InFormation Technology
This WIKI is my personal documentation blog. Please enjoy it and feel free to reach out through blue sky if you have a question, remark, improvement or observation. See below for the latest additions, or use the search or tags to browse for content.
openDS LDAP Restore
Summary: How to do a restore in openDs.
Date: Around 2012
Refactor: 8 March 2025: Checked links and formatting.
This is a restore from LDAP data created in Script: Bash: TDS LDAP Backup.
OpenDS Memory Configuration
Summary: How to confgure memory usage for OpenDS.
Date: Around 2012
Refactor: 8 March 2025: Checked links and formatting.
By default openDS only gets a minimum of 128 MB and a maximum of 256 MB memory assigned ( -Xms128m -Xmx256m ). That is a bit low in large environments. You can check current settings like this:
sjoerd@ldapsrv:/opt/OpenDS-2.2.0/config>ps -ef | grep Open root 4063566 1 316 Mar 11 - 141937:27 /usr/java5/jre/bin/java -server -Xms128m -Xmx256m -Dorg.opends.server.scriptName=start-ds org.opends.server.core.DirectoryServer --configClass org.opends.server.extensions.ConfigFileHandler --configFile /opt/OpenDS-2.2.0/config/config.ldif
Settings can be adjusted in /opt/OpenDS-2.2.0/config: Original settings:
overwrite-env-java-home=false overwrite-env-java-args=false default.java-home=/usr/java5/jre backup.offline.java-args=-server -Xms128m -Xmx256m encode-password.java-args=-server -Xms128m -Xmx256m export-ldif.offline.java-args=-server -Xms128m -Xmx256m import-ldif.offline.java-args=-server -Xms128m -Xmx256m ldif-diff.java-args=-server -Xms128m -Xmx256m ldifmodify.java-args=-server -Xms128m -Xmx256m ldifsearch.java-args=-server -Xms128m -Xmx256m make-ldif.java-args=-server -Xms128m -Xmx256m rebuild-index.java-args=-server -Xms128m -Xmx256m restore.offline.java-args=-server -Xms128m -Xmx256m start-ds.java-args=-server -Xms128m -Xmx256m upgrade.java-args=-server -Xms128m -Xmx256m verify-index.java-args=-server -Xms128m -Xmx256m dbtest.java-args=-server -Xms128m -Xmx256m backup.online.java-args=-client -Xms8m base64.java-args=-client -Xms8m create-rc-script.java-args=-client -Xms8m dsconfig.java-args=-client -Xms8m dsreplication.java-args=-client -Xms8m dsframework.java-args=-client -Xms8m export-ldif.online.java-args=-client -Xms8m import-ldif.online.java-args=-client -Xms8m ldapcompare.java-args=-client -Xms8m ldapdelete.java-args=-client -Xms8m ldapmodify.java-args=-client -Xms8m ldappasswordmodify.java-args=-client -Xms8m ldapsearch.java-args=-client -Xms8m list-backends.java-args=-client -Xms8m manage-account.java-args=-client -Xms8m manage-tasks.java-args=-client -Xms8m restore.online.java-args=-client -Xms8m stop-ds.java-args=-client -Xms8m status.java-args=-client -Xms8m control-panel.java-args=-client -Xms8m uninstall.java-args=-client -Xms8m setup.java-args=-client -Xms8m
New settings:
overwrite-env-java-home=false overwrite-env-java-args=true default.java-home=/usr/java5/jre manage-account.java-args=-client -Xms8m import-ldif.offline.java-args=-server -Xms128m -Xmx256m status.java-args=-client -Xms8m rebuild-index.java-args=-server -Xms2g -Xmx2g backup.online.java-args=-client -Xms8m base64.java-args=-client -Xms8m verify-index.java-args=-server -Xms2g -Xmx2g export-ldif.offline.java-args=-server -Xms128m -Xmx256m ldif-diff.java-args=-server -Xms128m -Xmx256m list-backends.java-args=-client -Xms8m import-ldif.online.java-args=-client -Xms8m encode-password.java-args=-server -Xms128m -Xmx256m ldapdelete.java-args=-client -Xms8m backup.offline.java-args=-server -Xms128m -Xmx256m ldapcompare.java-args=-client -Xms8m uninstall.java-args=-client -Xms8m control-panel.java-args=-client -Xms8m restore.offline.java-args=-server -Xms128m -Xmx256m ldappasswordmodify.java-args=-client -Xms8m dsframework.java-args=-client -Xms8m restore.online.java-args=-client -Xms8m ldifsearch.java-args=-server -Xms128m -Xmx256m create-rc-script.java-args=-client -Xms8m stop-ds.java-args=-client -Xms8m dsreplication.java-args=-client -Xms8m ldapsearch.java-args=-client -Xms8m ldapmodify.java-args=-client -Xms8m start-ds.java-args=-server -Xms2g -Xmx2g setup.java-args=-client -Xms8m dbtest.java-args=-server -Xms128m -Xmx256m make-ldif.java-args=-server -Xms128m -Xmx256m upgrade.java-args=-server -Xms128m -Xmx256m manage-tasks.java-args=-client -Xms8m dsconfig.java-args=-client -Xms8m export-ldif.online.java-args=-client -Xms8m ldifmodify.java-args=-server -Xms128m -Xmx256m
After changing the file you can activate the settings using the command dsjavaproperties:
sjoerd@ldapsrv:/opt/OpenDS-2.2.0/bin>sudo ./dsjavaproperties The operation was successful. The server commands will use the java arguments and java home specified in the properties file located in /opt/OpenDS-2.2.0/config/java.properties
To see that openDS is actually running with the new settings openDS needs a restart:
/opt/OpenDS-2.2.0/bin/stop-ds -D cn=manager -w <secret> /opt/OpenDS-2.2.0/bin/start-ds
OpenDS LDIF Export
Summary: How to do a openDs LDIF export.
Date: Around 2012
Refactor: 8 March 2025: Checked links and formatting.
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 here.
OpenDS Installation
Summary: This post describes the installation and configuration of the OpenDS 2.2.0 directory server on AIX..
Date: Around 2012
Refactor: 8 March 2025: Checked links and formatting.