
#!/bin/ksh
#
# procedure     : create_tape_snapshot.sh
# author        : WRoe
# copied/mod.   : Original oracle backup script modified 
# description   : Create daily dedicated snapshot for tapebackup 
#                 on snapvault volumes 
#***************************************************************
# Debugging purpose
#***************************************************************
#
#set -x
#***************************************************************
# Set the environment 
#***************************************************************
SNAPV_FILER=${1}
SNAPVAULT_VOLUME=${2}
SNAPNAME=tpb
ADMIN_LIST='backup_admin'

fatalhdb() 
{
    echo "$@" | /usr/ucb/mail -s "Tape snapshot problem ${SNAPV_FILER} ${SNAPVAULT_VOLUME}" ${ADMIN_LIST}
    exit 1
}

#
#***************************************************************
# Test remote shell execution to filer
/usr/ucb/rsh -n ${SNAPV_FILER} version || {
    fatalhdb "${SNAPV_FILER}: Snapshot rsh execution problem, for volume ${SNAPVAULT_VOLUME}"
} 
#***************************************************************
# Get date/time actual ${SNAPNAME}.0
#***************************************************************
OLDSNAP=`/usr/ucb/rsh -n ${SNAPV_FILER} "snap list -q ${SNAPVAULT_VOLUME}" |grep ${SNAPNAME}.0` 
#
# Rename Old snapshot  
#***************************************************************
#
/usr/ucb/rsh -n ${SNAPV_FILER} "snap delete ${SNAPVAULT_VOLUME} ${SNAPNAME}.1"
/usr/ucb/rsh -n ${SNAPV_FILER} "snap rename ${SNAPVAULT_VOLUME} ${SNAPNAME}.0 ${SNAPNAME}.1"
#
#***************************************************************
# make new snapshot 
#***************************************************************
#
/usr/ucb/rsh -n ${SNAPV_FILER} "snap create ${SNAPVAULT_VOLUME} ${SNAPNAME}.0" 
#
#***************************************************************
# Check if snaphot has been created
#***************************************************************
NEWSNAP=`/usr/ucb/rsh -n ${SNAPV_FILER} "snap list -q ${SNAPVAULT_VOLUME}" |grep ${SNAPNAME}.0` 

case $NEWSNAP in
          "") fatalhdb "error ${SNAPV_FILER} ${SNAPVAULT_VOLUME}: \
get status for ${SNAPNAME}.0 failed";;
  ${OLDSNAP}) fatalhdb "error ${SNAPV_FILER} ${SNAPVAULT_VOLUME}: \
snap create failed ${NEWSNAP} equals ${OLDSNAP}";; 
           *) date| /usr/ucb/mail -s "Tape snapshot created ${SNAPV_FILER} ${SNAPVAULT_VOLUME} ${NEWSNAP}"  ${ADMIN_LIST}  
esac
#
#***************************************************************
# end of the script
#***************************************************************
#
exit 0

