#!/bin/ksh # # This script is called by root's crontab # to backup the Omnitrak LDAP database. # It simply stops all services, tars up LDAP, then restarts. # A maximum of 8 backups are maintained # # Written by John Sicklick # Adapted by Justin Mercier # Specify the number of backups to rotate NumberOfBackups=8 # Halt Omnitrak echo "Stopping jboss..." su - omnitrak -c ". .bash_profile;/usr/omnitrak/scripts/AppServerShutdown >&/dev/null" sleep 30 if [ "`ps -ef | grep 'run.sh -c printrak' | grep -v grep`" != "" ] ; then echo "ERROR: JBOSS could not be stopped." exit 1 else echo "jboss stopped." fi # Halt Apache echo "Stopping httpd..." /opt/hpws/apache/bin/apachectl stop sleep 10 if [ "`ps -ef | grep httpd | grep -v grep" != "" ] ; then echo "ERROR: httpd could not be stopped." exit 1 else echo "httpd stopped." fi # Halt LDAP echo "Stopping LDAP..." /usr/omnitrak/OpenLDAP/scripts/OldShutdown >/dev/null sleep 10 if [ "`ps -ef | grep slapd | grep -v grep`" != "" ] ; then echo "ERROR: LDAP could not be stopped." exit 1 else echo "LDAP stopped." fi #### BACKUP #### cd /usr/omnitrak/OpenLDAP/var # # Delete old backup logs echo "Truncating existing backups..." LogCount=`ls -1 /ActiveFiles/backups/LDAP/* | grep LDAP_tar | wc -l` while (( $LogCount >= $NumberOfBackups )) do rm -rf `ls -1t /ActiveFiles/backups/LDAP/LDAP_tar* | tail -1` ((LogCount = LogCount - 1)) done # Tar and log echo "Creating backup..." tar cf /ActiveFiles/backups/LDAP/LDAP_tar_`date +"%d%h%Y"`.tar openldap-ldbm/_* openldap-ldbm/*.b* openldap-ldbm/log.0000000001 ../etc/ #### END BACKUP #### # Restart LDAP echo "Starting LDAP..." /usr/omnitrak/OpenLDAP/scripts/OldStartup >/dev/null if [ "`ps -ef | grep slapd | grep -v grep`" = "" ] ; then echo "ERROR: LDAP could not be started" exit 1 else echo "LDAP started..." fi # startup Apache: echo "Starting httpd..." /opt/hpws/apache/bin/apachectl start sleep 10 if [ "`ps -ef | grep httpd | grep -v grep`" = "" ] ; then echo "ERROR: httpd could not be started" exit 1 else echo "httpd started..." fi # startup Omnitrak: echo "Starting jboss..." su - omnitrak -c ". .bash_profile;/usr/omnitrak/scripts/AppServerStartup >/dev/null" sleep 10 if [ "`ps -ef | grep 'run.sh -c printrak' | grep -v grep`" = "" ] ; then echo "ERROR: jboss could not be started" exit 1 else echo "jboss started..." fi echo "Backup complete." exit 0