SHIFT

--- Sjoerd Hooft's InFormation Technology ---

User Tools

Site Tools


opendsldifexport
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

opendsldifexport [2013/04/30 15:12] (current)
sjoerd created
Line 1: Line 1:
 += OpenDS LDIF Export
  
 +This script will create a ldif export from a running OpenDS installation.
 +
 +<​code>​
 +#!/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
 +</​code>​
 +
 +The offsitecopy.func and mail.txt can be found [[offsitecopy|here]]. ​
 +
 +{{tag>​ldap backup scripts}}
opendsldifexport.txt ยท Last modified: 2013/04/30 15:12 by sjoerd