
#!/bin/sh
# File	: cdot_show_storage_container.sh
# By	: Maarten.deBoer@Atos.net, 220117
# Subject	: Script to show storage containers
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n"
MAILTO="maarten.deboer@atos.net"
MAIL=""
RCFILE="${HOME}/etc/${PGM}.rc"

CLUSTER="nlnaf100"
SVM="nlnafsmss10"
LOOP=""
WAITSEC=0
INTERACT=""
EXCL_VOLUME="vol0root"

USAGE()
{
  echo "Usage: ${PGM} [<options>]"
  echo "  Version: ${VER}"
  echo "  options       :"
  echo "    -c          : Clustername (${CLUSTER})"
  echo "    -s          : Svmname (${SVM})"
#  echo "    -i          : Interaction (press Enter for the next)"
  echo "    -l          : Loop"
  echo "    -w          : Wait in sec (${WAITSEC})"
  echo "    -h|--help   : this help"
  echo "    -V          : Version"
  echo "    -x          : set -x"
}
if [ -f ${RCFILE} ]; then
  echo "  RCFILE (${RCFILE}) found. Reading ..."|tee -a ${LOG}
  . ${RCFILE}
fi
# Check options
#if [ $# -le 0 ]; then
#  USAGE 
#  echo "NO options selected. Please provide. Exiting."
#  exit 1
#fi
while [ $# -gt 0 ]
  do
  case $1 in
    -c) CLUSTER="${2}"; shift ;;
    -s) SVM="${2}"; shift ;;
#    -i) INTERACT=1 ;;
    -l) LOOP=1 ;;
    -w) WAITSEC=${2}; shift ;;
    -h | --help) USAGE; exit 1 ;;
    -V) echo "${PGM}: v${VER}"; exit 3 ;;
    -x)  set -x ;;
    *)  echo "Option $1 not known."; USAGE; exit 1 ;;
  esac
    shift
done

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "CLUSTER=${CLUSTER}"
echo "SVM=${SVM}"
#echo "INTERACT=${INTERACT}"
echo "EXCL_VOLUME=${EXCL_VOLUME}"
echo "WAITSEC=${WAITSEC}"
sleep 1

if [ "${CLUSTER}" = "" ]; then
  echo "  NO CLUSTERname. Exiting ..."|tee -a ${LOG}
  exit 3
fi
if [ "${SVM}" = "" ]; then
  echo "  NO SVMname. Exiting ..."|tee -a ${LOG}
  exit 4
fi


echo "+ Volume:"
${SSH} ${CLUSTER} "set -showseparator \" \";volume show -vserver ${SVM} -volume * -field comment,volume,vserver,total"|grep ${SVM}| grep -v ${EXCL_VOLUME}
sleep ${WAITSEC}

echo "+ (NFS) Export:"
${SSH} ${CLUSTER} "set -showseparator \" \";export-policy rule show -vserver ${SVM}"|grep ${SVM}|grep -v ${EXCL_VOLUME}
sleep ${WAITSEC}

echo "+ Qtree:"
${SSH} ${CLUSTER} "set -showseparator \" \";qtree show -vserver ${SVM} -field vserver,qtree-path,export-policy,security-style"|grep ${SVM}|grep -v ${EXCL_VOLUME}|grep -v '""'
sleep ${WAITSEC}

echo "+ Quota:"
${SSH} ${CLUSTER} "set -showseparator \" \";quota report -vserver ${SVM} -field vserver,volume,tree,quota-type,disk-limit"|grep ${SVM}
sleep ${WAITSEC}


#echo "`date` ${PGM} v${VER} finished."|tee -a ${LOG}
if [ ${LOOP} ]; then
  echo "  Waiting 2x ${WAITSEC} sec. for loop"
  sleep ${WAITSEC}
  sleep ${WAITSEC}
  ${0} -l -c ${CLUSTER} -s ${SVM} -w ${WAITSEC}
fi

exit 0

