#!/bin/sh #bcpyrght #*************************************************************************** #* $VRTScprght: Copyright 2015 Symantec Corporation, All Rights Reserved $ * #*************************************************************************** #ecpyrght # # NOTE: # 1. Provide the path of "hdbsql" as "/usr/sap/QA1/HDB00/exe/hdbsql" # 2. Need to modify below hdbsql command according to your configuration with options as # ../hdbsql -i HDB00 -n testw1 # -u SYSTEM -p # Modify the below "hdbsql" commands by using proper name # 3. SAP HANA Master name and hostname of that Node must be same # # #This environment variable are created by Netbackup (bphdb) # echo "SAP_SCHEDULED = $SAP_SCHEDULED" echo "SAP_FULL = $SAP_FULL" echo "SAP_CINC = $SAP_CINC" echo "SAP_INCR = $SAP_INCR" echo "SAP_SCHED = $SAP_SCHED" RETURN_STATUS=0 # # Get the SAP HANA master server # SAP_SERVER="`/usr/sap/QA1/HDB00/exe/hdbsql -i 00 -n testw1 -u SYSTEM -p mitzero -j -a -x \"select HOST from M_SERVICES WHERE COORDINATOR_TYPE='MASTER' LIMIT 1\"`" # # Check if SAP HANA master node is present # if [ "$SAP_SERVER" == "" ] ; then echo "SAP HANA Master node is not present" fi # # Remove quotes from SAP_SERVER (HANA master) name string # SAP_SERVER="`echo "$SAP_SERVER" | sed s'/\"//g'`" # # Convert the SAP HANA master name to small letters # SAP_SERVER=`echo $SAP_SERVER | tr "[A-Z]" "[a-z]"` echo "SAP_SERVER = $SAP_SERVER" # # Get HOST NAME # HOST_NAME="`hostname`" # # Convert the current node host name to small letters # HOST_NAME=`echo $HOST_NAME | tr "[A-Z]" "[a-z]"` echo "HOST_NAME = $HOST_NAME" # # Check SAP HANA MASTER with HOST NAME # IF both are same then start backup # Then trigger backup from SAP HANA master node # HOST_NAME=`echo $HOST_NAME | tr "[A-Z]" "[a-z]"` echo "HOST_NAME = $HOST_NAME" # # Start BACKUP Query on SAP HANA master # if [ "$SAP_SERVER" == "$HOST_NAME" ] ; then # # Get the current date and time # DATE_TIME="`date \"+%Y%m%d_%H_%M_%S\"`" # # If SAP_SCHED exists then export it to make it available to backint. # if [ -n "$SAP_SCHED" ] then SAP_ENV="$SAP_ENV SAP_SCHED=$SAP_SCHED; export SAP_SCHED;" fi # # Check the schedule type according to that we can Initiate FULL/DIFF/INCR backup # if [ $SAP_FULL -eq 1 ]; then echo "Initiating Complete(FULL) backups" echo "Full SCHED = $SAP_FULL" # # Build the BACKUP PREFIX by appending DATE and TIME # BACKUP_PREFIX="COMPLETE_DATA_BACKUP" BACKUP_PREFIX="$BACKUP_PREFIX"_"$DATE_TIME" echo "HANA_COMPLETE_BACKUP_PREFIX = $BACKUP_PREFIX" /usr/sap/QA1/HDB00/exe/hdbsql -i 00 -n testw1 -u SYSTEM -p mitzero "backup data using backint ('$BACKUP_PREFIX')" elif [ $SAP_INCR -eq 1 ]; then echo "Initiating Differential backups" echo "SAP_INCR= $SAP_INCR" # # Build the BACKUP PREFIX by appending DATE and TIME # BACKUP_PREFIX="DIFF_DATA_BACKUP" BACKUP_PREFIX="$BACKUP_PREFIX"_"$DATE_TIME" echo "HANA_DIFF_BACKUP_PREFIX = $BACKUP_PREFIX" /usr/sap/QA1/HDB00/exe/hdbsql -i 00 -n testw1 -u SYSTEM -p mitzero "backup data differential using backint ('$BACKUP_PREFIX')" elif [ $SAP_CINC -eq 1 ]; then echo "Initiating Incremental backups" echo "SAP_CINC = $SAP_CINC" # # Build the BACKUP PREFIX by appending DATE and TIME # BACKUP_PREFIX="INC_DATA_BACKUP" BACKUP_PREFIX="$BACKUP_PREFIX"_"$DATE_TIME" echo "HANA_INC_BACKUP_PREFIX = $BACKUP_PREFIX" /usr/sap/QA1/HDB00/exe/hdbsql -i 00 -n testw1 -u SYSTEM -p mitzero "backup data incremental using backint ('$BACKUP_PREFIX')" fi # RETURN_STATUS=$? exit $RETURN_STATUS else # # For Worker node exit bphdb with 0 # So all bphdb jobs which are invoked on Worker node will be get successful compelete # echo "Backup is started from SAP HANA Master" echo "Worker Node will exit with sucess status" exit 0 fi