
#!/bin/sh
# File	: cifs_sessions_show.sh
# By	: Maarten.deBoer@Atos.net, 250922
# Subject	: Scripts for check CIFS sessions
#(0.2),250922	: Add MAILTO as ${1}, VSERVER in mailsubject
#(0.3),250922	: Added windows-user
#(0.4),250926	: Added collect in file. Mail later
#(0.5),251001	: Mod for VGZ
PGM=`basename $0| cut -d\. -f1`
VER="0.5"
LOG="${HOME}/log/${PGM}.log"
SSH="/bin/ssh -n"
TMP="/tmp/${PGM}.$$"
CSV="/tmp/${PGM}.csv"
#MAILTO="maarten.deboer@atos.net"
MAILTO="" 
HOSTNAME=`hostname |cut -d\. -f1`
MAILHDR="${TMP}.hdr"

CLUSTERS="${HOME}/etc/clusters"
CFILTER="nlnaf10[23]"
#CLUSTER="nlnaf102"
#VSERVER="nlnafstml01"
CMZ="mss"
CSV="/tmp/${PGM}_${CMZ}.csv"
VSERVER="nlnafs${CMZ}*"

# Exclude:
# \\tm.nl.ad.tmo\services\Portals Waiting for test results
# \\tm.nl.ad.tmo\Retail\managers Waiting for a firewall change and then testing
# \\tm.nl.ad.tmo\Retail\OffHome Waiting for a firewall change and then testing
# \\tm.nl.ad.tmo\Retail\shops Waiting for a firewall change and then testing
# \\tm.nl.ad.tmo\Retail\TsProfiles Waiting for a firewall change and then testing
# \\tm.nl.ad.tmo\Projects\NMA 1 person has issues with her laptop, needs to be fixed

#EXCLUDE="Portals|managers|OffHome|shops|TsProfiles"
EXCLUDE=""

if [ -f ${RCFILE} ]; then
  echo "  RCFILE(${RCFILE}) found. Using ..."|tee -a ${LOG}
fi
if [ "${1}" != "" ]; then
  CMZ="${1}" 
fi  # CMZ
if [ "${2}" != "" ]; then
  MAILTO="${2}" 
fi  # MAILTO

CSV="/tmp/${PGM}_${CMZ}.csv"
VSERVER="nlnafs${CMZ}*"

cp /dev/null ${MAILHDR}

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "  CLUSTERS=${CLUSTERS}"
echo "  CFILTER=${CFILTER}"
echo "  CMZ(1)=${CMZ}"|tee -a ${MAILHDR}
echo "  CSV=${CSV}"|tee -a ${MAILHDR}
echo "  EXCLUDE=${EXCLUDE}|"|tee -a ${MAILHDR}
echo "  LOG=${LOG}"
echo "  MAILTO(2)=${MAILTO}"|tee -a ${MAILHDR}
echo "  MAILHDR=${MAILHDR}"
echo "  RCFILE=${RCFILE}"
echo "  VSERVER=${VSERVER}"
sleep 1

if [ ! -f ${CSV} ]; then
  cp /dev/null ${CSV}
fi  # CSV

echo "`date +%Y'-'%m'-'%d' '%H':'%M`;" |tee -a ${CSV}

cat ${CLUSTERS}|grep -v ^#|grep "${CFILTER}"|while read CLUSTER
do
  echo "  CLUSTER=${CLUSTER}"
  if [ "${EXCLUDE}" = "" ]; then
    ${SSH} ${CLUSTER} "set -showseparator \";\" ; vserver cifs session show -vserver ${VSERVER} -field address,connected-time,shares,files,share-names,windows-user" |tee -a ${CSV}
  else
    ${SSH} ${CLUSTER} "set -showseparator \";\" ; vserver cifs session show -vserver ${VSERVER} -field address,connected-time,shares,files,share-names,windows-user"|egrep -vi "${EXCLUDE}" |tee -a ${CSV}
  fi  # EXCLUDE=""
done  # CLUSTER

if [ "${MAILTO}" != "" ]; then
  echo "By ${PGM} v${VER} at ${HOSTNAME}"|tee -a ${MAILHDR}
  cat ${MAILHDR}| mailx -a ${CSV} -s "${VSERVER}: CIFS sessions show (${CMZ}) [${PGM} v${VER}]" "${MAILTO}"
  EC=${?}
  echo "  Mailed(${EC}) to ${MAILTO}"|tee -a ${LOG}
# when mailed, empty CSV
  cp /dev/null ${CSV}
  EC=${?}
  echo "    Emptied(${EC}) ${CSV}"|tee -a ${LOG}
fi  # MAILTO

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

