
#!/bin/sh
# File	: get_last_snap.sh
# By	: Maarten.deBoer@Atos.net, 111014
# Subject	: Script to get the last (oldest) snap per volume/filer

PGM="`basename $0|cut -d\. -f1`" 
VERSION="0.1"
LOG="${HOME}/log/${PGM}.log"
TMP="/tmp/${PGM}.$$"
HOSTNAME="`hostname`"
FILERS="${HOME}/etc/filers"
SSH="/usr/bin/ssh -n"
PING="/usr/sbin/ping"
MAILTO="maarten.deboer@atos.net"
FILTER="[0123456789]*"
ZIP="/usr/bin/gzip"
CSV="${PGM}.csv"

#FILTER="naf02"

echo "#`date`" | tee -a ${TMP}
echo "# Filer ; Volume ; Date + Time ; Last Snap ;" | tee -a ${TMP}

# Start getting info
for FILER in `cat ${FILERS}|grep -v \^#|grep ${FILTER}|awk -F\; '{print $1}'` 
do
  echo "`date` ${FILER} ... "|tee -a ${LOG}
  ${PING} -c 1 ${FILER} 1> /dev/null 2>&1
  EC=$?
  if [ ${EC} -eq 0 ]; then
    ${SSH} ${FILER} vol status | grep online | awk '{print $1}'|while read VOLUME
    do
      echo "${FILER} ; ${VOLUME}; \c" | tee -a ${TMP}
      ${SSH} ${FILER} snap list ${VOLUME}|tail -1|awk '{print $7,$8,$9,";"$10";"}' | tee -a ${TMP}
    done

  else
    echo "${FILER} ; access (ping) ERROR ; "|tee -a ${LOG}|tee -a ${TMP}
  fi  # [ ${EC} -eq 0 ]; then

done
cat ${TMP}|uuencode ${CSV}|mailx -s ":${HOSTNAME}: [${PGM} v${VERSION}]" ${MAILTO}

rm ${TMP}
exit 0

