
#!/bin/sh
# File	: cdot_chk_old_snaps.sh	
# By	: Maarten.deBoer@Atos.net, 230215
# Subject	: Script to check old (NetApp-ONTAP) Snaps
#(0.2),MdB	: Added SFILTER="${1}"
#(0.3),230216	: MOd's for CSV file
PGM=`basename $0|cut -d\. -f1`
VER="0.3"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
SSH="/bin/ssh -n"

CLUSTERS="${HOME}/etc/clusters"
CFILTER="nlnaf10[01]"
SFILTER="[?]*"
OLD_NAMES="temp|2022"
OLD_NAMES="temp"
CSV="/tmp/${PGM}_`date +%Y%m%d-%H%M%S`.csv"
MAILTO="maarten.deboer@atos.net"
MAILTO="maarten.deboer@atos.net harold.kuijpers@atos.net partenie.vintila-cheiac@atos.net"


if [ "${1}" != "" ]; then
  SFILTER="${1}"
fi

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG} ${TMP}.mail
echo "  CLUSTERS=${CLUSTERS}"| tee -a ${TMP}.mail
echo "  CFILTER=${CFILTER}"| tee -a ${TMP}.mail
echo "  SFILTER=${SFILTER}"| tee -a ${TMP}.mail
echo "  MAILTO=${MAILTO}"| tee -a ${TMP}.mail
echo "  OLD_NAMES=${OLD_NAMES}"| tee -a ${TMP}.mail
sleep 1

echo "# CLUSTER;VSERVER;VOLUME;SnapShot-name --->;" > ${TMP}.csv

cat ${CLUSTERS}|grep -v ^#|grep "${CFILTER}"|while read CLUSTER
do
  echo "  ${CLUSTER} ..."
  ${SSH} ${CLUSTER} "vserver show -field vserver,operational-state"| grep running|grep "${SFILTER}"|awk '{print $1}'|while read VSERVER
  do
    ${SSH} ${CLUSTER} "volume show -vserver ${VSERVER} -field volume"|grep ${VSERVER}|grep -v vol0root|awk '{print $2}'|while read VOLUME
    do
#      echo "    CLUSTER=${CLUSTER} VSERVER=${VSERVER} VOLUME=${VOLUME}"
      ${SSH} ${CLUSTER} "snap show -vserver ${VSERVER} -volume ${VOLUME}"|egrep "${OLD_NAMES}"|awk '{print $1}'|sed "s/_/;/g"|while read LINE
      do
        echo "${CLUSTER};${VSERVER};${VOLUME};${LINE};"|tee -a ${TMP}.csv

      done  # LINE

    done  # VOLUME

  done  # VSERVER

done  # CLUSTER



if [ "${MAILTO}" != "" ]; then
  echo "" >> ${TMP}.mail
  cp ${TMP}.csv ${CSV}
  cat ${TMP}.mail | mailx -a ${CSV} -s "OLD snapshot check (${SFILTER}) [${PGM} v${VER}]" "${MAILTO}"
  rm ${CSV}
  echo "  Mailed to ${MAILTO}"|tee -a ${LOG}
fi  # ${MAILTO}" != ""


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

