
#!/bin/sh
# File	: cdot_snapmirror-release.sh
# By	: Maarten.deBoer@Atos.net, 211115, 230711
# Subject	: Script to release SnapMirror(s) using list-destination
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
LOG="${HOME}/log/${PGM}.log"
TMP="/tmp/${PGM}.$$"
CLUSTERS="${HOME}/etc/clusters"
SSH="/usr/bin/ssh -n"
# Filters
CFILTER="nlnaf100"
VFILTER="nlnafsavi"

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}

# Check offline volumes 1st
cat ${CLUSTERS}|grep -v ^#|grep "${CFILTER}"|while read CLUSTER
do
  ${SSH} ${CLUSTER} "vserver show -operational-state running"|grep "${VFILTER}"| grep data|awk '{print $1}'|while read VSERVER
  do
    ${SSH} ${CLUSTER} "snapmirror list-destinations -destination-vserver ${VSERVER}"|grep ${VSERVER}| while read LINE
    do
#      echo "LINE=${LINE}"
      SRC_PATH=`echo ${LINE}|awk '{print $1}'`
      DST_PATH=`echo ${LINE}|awk '{print $3}'`

      ${SSH} ${CLUSTER} "snapmirror release -source-path ${SRC_PATH} -destination-path ${DST_PATH}"
      EC=${?} 
      echo "  Released SRC_PATH=${SRC_PATH} to DST_PATH=${DST_PATH}  EC=${EC}"|tee -a ${LOG}

    done  # LINE
  done  # VSERVER


#      SNAPMIRROR=`${SSH} ${CLUSTER} "snapmirror list-destinations -source-vserver ${VSERVER} -source-volume ${VOLUME}"|grep "${VOLUME}"`
#      if [ "${SNAPMIRROR}" != "" ]; then
#        SM_SOURCE=`echo ${SNAPMIRROR}|awk '{print $1}'`
#        SM_TYPE=`echo ${SNAPMIRROR}|awk '{print $2}'`
#        SM_DEST=`echo ${SNAPMIRROR}|awk '{print $3}'`
#        echo "  Releasing SnapMirror ${SM_SOURCE} ${SM_TYPE} ${SM_DEST}"|tee -a ${LOG}
#        ${SSH} ${CLUSTER} "volume online -vserver ${VSERVER} -volume ${VOLUME}"
#        ${SSH} ${CLUSTER} "snapmirror release -destination-path ${SM_DEST}"
#        ${SSH} ${CLUSTER} "volume offline -vserver ${VSERVER} -volume ${VOLUME}"
#      fi  # SNAPMIRROR
#
#      echo "  Deleting ${VSERVER}:${VOLUME}"|tee -a ${LOG}
#      sleep 5
#      ${SSH} ${CLUSTER} "volume delete -vserver ${VSERVER} -volume ${VOLUME}"
#
#    fi  # <> ""
# c  done  # LINE

done  # CLUSTER

echo "`date` ${PGM} v${VER} finished."|tee -a ${LOG}
exit 0

