#!/bin/sh
# Back up the LDAP suffixes to LDIF files

SLAPDDIR=/opt/fedora-ds/slapd-HOST.DOMAIN.com
BKUPDIR=/backup/ldap
LDIFBKUPDIR=${BKUPDIR}/ldif
DBBKUPDIR=${BKUPDIR}/db
LOG=${BKUPDIR}/ldapdbbkup.log
WRK=${BKUPDIR}/ldapdbbkup.wrk
RPT=${BKUPDIR}/ldapdbbkup.rpt

rm -f RPT

if [ ! -d $LDIFBKUPDIR ]
then
	mkdir $LDIFBKUPDIR
fi

cd $LDIFBKUPDIR

for LDIF in DOMAIN.com.ldif
do
	test -f $LDIF.2 && mv $LDIF.2  $LDIF.3
	test -f $LDIF.1 && mv $LDIF.1  $LDIF.2
	test -f $LDIF.0 && mv $LDIF.0  $LDIF.1
	test -f $LDIF && mv $LDIF  $LDIF.0
done

cd $SLAPDDIR
./db2ldif -a $LDIFBKUPDIR/DOMAIN.com.ldif -s "dc=DOMAIN,dc=com" >> $WRK 2>&1
if [ $? -ne 0 ]
then
	echo "Error exporting bilma.ldif" >> $RPT
	cat $WRK >> $RPT
fi
cat $WRK >> $LOG
rm $WRK
	
if [ ! -d $DBBKUPDIR ]
then
	mkdir $DBBKUPDIR
fi

cd $DBBKUPDIR

test -d db.2 && rm -rf db.2
test -d db.1 && mv db.1 db.2
test -d db.0 && mv db.0 db.1
test -d db && mv db db.0
mkdir -p db

cd $SLAPDDIR
./db2bak $DBBKUPDIR/db >> $WRK 2>&1
if [ $? -ne 0 ]
then
	echo "Error backing up DB" >> $RPT
	cat $WRK >> $RPT
fi
cat $WRK >> $LOG
rm $WRK

if [ -f $RPT ]
then
	cat $RPT | mailx -s "Problems with LDAP LDIF/DB backup" kylet
	rm $RPT
fi

