Skip to content

Instantly share code, notes, and snippets.

@kaarolch
Created January 16, 2016 12:26
Show Gist options
  • Save kaarolch/25ef6536d774ca562f25 to your computer and use it in GitHub Desktop.
Save kaarolch/25ef6536d774ca562f25 to your computer and use it in GitHub Desktop.
#!/bin/bash
RETENTION=10
BCKDIR="/home/karol/ldapbck/"
BCKFILE=`hostname`_`date +%Y-%m-%d+%M`".ldif"
LDAPCONF="slapd.conf"
LDAPDIR="/etc/ldap/"
SLAPDPID="/var/run/slapd/slapd.pid"
LDAPPID=`ps aux | grep -v grep | grep slapd | awk '{print $2}'`
LOGTAG="ldapbck"
if [ ! -d $BACKDIR ] ; then
logger -t $LOGTAG "Create backup dir: $BCKDIR"
mkdir $BCKDIR
fi
service slapd stop
if [ -f $SLAPDPID ]; then
logger -t $LOGTAG "Slapd is still running: kill -9"
for $PID in $LDAPPID
do
kill -9 $PID
done
fi
logger -t $LOGTAG "Slapcat started"
slapcat -f $LDAPDIR$LDAPCONF -l $BCKDIR$BCKFILE 2>&1 | logger -t $LOGTAG
logger -t $LOGTAG "Slapcat finished"
service slapd start
if [ -f $SLAPDPID ]; then
logger -t $LOGTAG "Slapd up and running"
fi
cd $BCKDIR
tar -zcf "$BCKFILE.tar.gz" $BCKFILE 2>&1 | logger -t $LOGTAG
if [ $? -eq 0 ]; then
rm -fr $BCKFILE
find $BCKDIR -maxdepth 1 -ctime +$RETENTION -type f -exec rm -rv {} \; 2>&1| logger -t $LOGTAG
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment