
#!/bin/ksh
# File	: chk_disks4web.sh
# By	: Maarten.deBoer@atos.net, 2014-12-09
# Subject	: Script to check for broken disks, which might not "seen" by OnCommand(DFM)
# 		For the status website
#(0.2)	: Added putting data into WEB-location
#
PGM="`basename $0|cut -d\. -f1`"
TMP="/tmp/${PGM}.$$"
HOSTNAME="`hostname|cut -d\. -f1`"
VER="0.2"
LOG="${HOME}/web/log/${PGM}.log"

FILTER="[?]*"
FILERS="${HOME}/etc/filers"
SSH="/usr/bin/ssh -n"
MAIL=""
MAILTO="maarten.deboer@atos.net"

WEBSITE="${HOME}/web/data"
WEBFILE="${HOME}/web/data/${PGM}.csv"

USAGE()
{
  echo "Usage: ${PGM} [<options>]"
  echo "  Version: ${VER}"
  echo "  options       :"
  echo "    -e          : new ETC/filer name (${FILERS})"
  echo "    -f          : filter filername (${FILTER})"
  echo "    -h|--help   : this help"
  echo "    -V          : Version"
  echo "    -x          : set -x"
}

# Check options
while [ $# -gt 0 ]
  do
  case $1 in
    -e) FILERS=$2; shift ;;
    -f) FILTER=$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} @${HOSTNAME} Started with FILER=${FILTER} & VOLUME=${VOLFILTER}"| tee -a ${LOG}
echo "FILERS=${FILERS}"
echo "FILTER=${FILTER}"
echo "TMP=${TMP}"
echo "PGM=${PGM}"
echo "VER=${VER}"

if [ ! -f ${FILERS} ]; then
  echo "${FILERS} NOT found. Exiting ..."
  exit 2
fi 

touch ${TMP}
echo "" > ${WEBFILE}
# Sandpit

for FILER in `echo nlnaf12`
do
  # clean some file 1st
  echo "Filer: ${FILER} ..."
  ${SSH} ${FILER} vol status -f > ${TMP}
  grep '(empty)' ${TMP} > /dev/null
  EC=$?
  if [ ${EC} -gt 0 ]; then
    echo "${FILER}: Broken disks"|tee -a ${LOG}
# WEB
    echo "${FILER},`cat ${TMP}|egrep 'SA|failed|predict|responding'`" |tee -a ${WEBFILE}
  fi  # ${EC}

done  # for FILER in `cat ${FILERS}|grep -v \^#|awk -F\; '{print $1}'|grep "${FILTER}"`


for FILER in `cat ${FILERS}|grep -v \^#|awk -F\; '{print $1}'|grep "${FILTER}"`
do
  # clean some file 1st
  echo "Filer: ${FILER} ..."
  ${SSH} ${FILER} vol status -f > ${TMP}
  grep '(empty)' ${TMP} > /dev/null
  EC=$?
  if [ ${EC} -gt 0 ]; then
    echo "${FILER}: Broken disks"|tee -a ${LOG}
# WEB
    echo "${FILER},`cat ${TMP}|egrep 'SA|failed|predict|responding'`" |tee -a ${WEBFILE}
  fi  # ${EC}

done  # for FILER in `cat ${FILERS}|grep -v \^#|awk -F\; '{print $1}'|grep "${FILTER}"`


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

