
#!/bin/ksh
# File	: upd_aggr-usage.sh
# By	: Maarten.deBoer@Atos.net, 2016-01-28
# Subject	: Script to process filer disk usage to web-pages
# (0.2)	: Add HIGHESTPERC
# (0.3),160711	: Add Model & Version
# set -x
PGM="`basename $0|cut -d\. -f1`"
VER="0.3"
TMP="/tmp/${PGM}.$$"
BASEDIR="`pwd | sed 's/scripts//'|sed 's/bin//'`"
LOG="${BASEDIR}/log/${PGM}.log"

COUNTRY="`echo ${BASEDIR}| cut -d\/ -f6`"
IN="${BASEDIR}/data/${COUNTRY}-aggr-usage.csv"

OUT="${BASEDIR}/html/aggr-usage.html"

HIGHESTPERC=0
DASHBORD_HIGHESTPERC="${BASEDIR}/data/dashboard_highestperc.asc"
DASHBORD_TOTALAGGRTB="${BASEDIR}/data/dashboard_totalaggrtb.asc"

echo "`date` ${PGM} v${VER} started." | tee -a ${LOG}
echo "BASEDIR=${BASEDIR}"

echo "<!DOCTYPE html>" > ${OUT}
echo "<HTML>" >> ${OUT}
echo "<HEAD>" >> ${OUT}
echo "<META charset='UTF-8'>" >> ${OUT}
echo "<META content=Maarten de Boer name=AUTHOR>" >> ${OUT}
echo "<TITLE>AFSP:aggr-usage</TITLE>" >> ${OUT}
echo "<basefont face='verdana'>" >> ${OUT}
echo "</HEAD>" >> ${OUT}

echo "<BODY aLink=red bgColor=#D3D0D3 link=red text=#000000 vLink=#ff0000>" >> ${OUT}

echo "<TABLE BORDER=0 WIDTH='100%'>" >> ${OUT}

echo "<TR WIDTH=100% HEIGHT=40px>" >> ${OUT}
echo "  <TD bgColor=#0066A1>" >> ${OUT}
echo "    <FONT COLOR=white face='verdana' size='5'> <B> <A HREF="../${COUNTRY}-overview.html">Filer</A> aggregate usage of ${COUNTRY} </B> </FONT>" >> ${OUT}
echo "    <BR>" >> ${OUT}
echo "    <DIV align=right>" >> ${OUT}
echo "    <FONT COLOR=white face='verdana' size='-3'> For internal use. (c) Atos BTN 2015 </B> </FONT>" >> ${OUT}
echo "    </DIV>" >> ${OUT}
echo "  <TD>" >> ${OUT}
echo "</TR>" >> ${OUT}

echo "<TR>" >> ${OUT}

#echo "  <TABLE BORDER=1 WIDTH='100%'>" >> ${OUT}
echo "  <TABLE BORDER=1>" >> ${OUT}

echo "<TR>" >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Name:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Serial Number:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Model:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>OS Version:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Aggr name:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Aggr perc:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Aggr total [kb]:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Last ASUP:</B> </TD> " >> ${OUT}
echo "</TR>" >> ${OUT}


TOTALAGGRTB=0
cat ${IN}|grep -v ^#|while read LINE
do
  FILER="`echo ${LINE}|awk -F\; '{print $1}'|sed 's/ //g'`"
  SERNR="`echo ${LINE}|awk -F\; '{print $2}'|sed 's/ //g'`"
  AGGRNAME="`echo ${LINE}|awk -F\; '{print $3}'|sed 's/ //g'`"
  AGGRPERC="`echo ${LINE}|awk -F\; '{print $4}'|sed 's/ //g'`"
  AGGRTOTAL="`echo ${LINE}|awk -F\; '{print $5}'|sed 's/ //g'`"

  if [ "${FILER}" != "" ]; then
	if [ ${AGGRTOTAL} -gt 0 ]; then
	  let "TOTALAGGRTB= ${TOTALAGGRTB} + (${AGGRTOTAL} / 1024 / 1024 / 1024) "
	fi

    echo "${FILER} ($SERNR) ${AGGRNAME} ${AGGRPERC} ${AGGRTOTAL}kb -> ${TOTALAGGRTB} ..."

    if [ "${SERNR}" != "" ];  then
  	# Look for, Model, OS-version & Last ASUP in database
	  DBFILE="${BASEDIR}/data/database/${SERNR}.asc"
	  if [ -f ${DBFILE} ]; then
	    MODEL="`grep ^MODEL_NAME ${DBFILE}|awk -F\= '{print $2}'`"
	    VERSION="`grep ^OS_VERSION ${DBFILE}|awk -F\= '{print $2}'`"
	    LAST_ASUP="`grep ^ASUP_GENERATED_ON ${DBFILE}|awk -F\= '{print $2}'`"
	    SYSTEMID="`grep ^SYSTEM_ID ${DBFILE}|awk -F\= '{print $2}'`"
	  fi  # -f DBFILE
	fi  # SERNR

	# -- Coloring
	if [ "${AGGRPERC}" = "" ]; then
	  PERCCOL="blue"
	else
  	  PERC="`echo ${AGGRPERC}|sed 's/%//g'`"
  	  if [ ${PERC} -ge 90 ]; then
  	    PERCCOL="red"
  	  fi
  	  if [ ${PERC} -lt 90 ]; then
  	    PERCCOL="orange"
  	  fi
  	  if [ ${PERC} -lt 80 ]; then
  	    PERCCOL="yellow"
  	  fi
  	  if [ ${PERC} -lt 70 ]; then
  	    PERCCOL="green"
  	  fi
  	  if [ ${PERC} -lt 10 ]; then
  	    PERCCOL="lightgreen"
  	  fi
  	  if [ ${PERC} -eq 0 ]; then
  	    PERCCOL="lightblue"
  	  fi
	fi  # ${AGGRPERC}" = ""
# Get highst perc for Dashbord
	if [ ${HIGHESTPERC} -lt ${PERC} ]; then
	  HIGHESTPERC=${PERC}
	fi
# echo "|${AGGRPERC}|${PERC}|${PERCCOL}|"

# Last Asup
    LASTASUPOCOL=""
    YEAR="`date +%Y`"
    MONTH="`date +%b`"
    MONTHDAY="`date +%b' '%d`"
    ANSW="`echo "${LAST_ASUP}"| grep "${MONTHDAY}"`"
    if [ "${ANSW}" != "" ] && [ "${LASTASUPCOL}" = "" ]; then
      LASTASUPCOL="green"
    fi
    ANSW="`echo "${LAST_ASUP}"|grep "${MONTH}"|grep "${YEAR}"`"
    if [ "${ANSW}" != "" ] && [ "${LASTASUPCOL}" = "" ]; then
      LASTASUPCOL="yellow"
    fi
    ANSW="`echo "${LAST_ASUP}"|grep "${YEAR}"`"
    if [ "${ANSW}" != "" ] && [ "${LASTASUPCOL}" = "" ]; then
      LASTASUPCOL="orange"
    fi
    if [ "${LAST_ASUP}" = "" ]; then
      LASTASUPCOL=""
    fi
# echo "|${LAST_ASUP}=${ANSW}|${LASTASUPCOL}|"
    echo "<TR>" >> ${OUT}
    echo "  <TD> <FONT face='verdana' size=1> ${FILER} </FONT> </TD> " >> ${OUT}
    echo "  <TD> <FONT face='verdana' size=1> ${SERNR} </FONT> </TD> " >> ${OUT}
    echo "  <TD> <FONT face='verdana' size=1> ${MODEL} </FONT> </TD> " >> ${OUT}
    echo "  <TD> <FONT face='verdana' size=1> ${VERSION} </FONT> </TD> " >> ${OUT}
    echo "  <TD> <FONT face='verdana' size=1> ${AGGRNAME} </FONT> </TD> " >> ${OUT}
    echo "  <TD BGCOLOR=${PERCCOL}> <FONT face='verdana' size=1> ${AGGRPERC} </FONT> </TD> " >> ${OUT}
    echo "  <TD> <FONT face='verdana' size=1> ${AGGRTOTAL} kb </FONT> </TD> " >> ${OUT}
    echo "  <TD BGCOLOR=${LASTASUPCOL}> <FONT face='verdana' size=1> ${LAST_ASUP}</FONT> </TD> " >> ${OUT}
    echo "</TR>" >> ${OUT}

  fi  # "${FILER}" != "" 

done

echo "<TR>" >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>${TOTALAGGRTB} TB</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> " >> ${OUT}
echo "</TR>" >> ${OUT}


echo "<TR>" >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Name:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Serial Number:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Model:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>OS Version:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Aggr name:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Aggr perc:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Aggr total [kb]:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Last ASUP:</B> </TD> " >> ${OUT}
echo "</TR>" >> ${OUT}


COUNT="`cat ${IN}|grep -v '^#'|wc -l|awk '{print $1}'`"
echo "<TR>" >> ${OUT}
  echo "  <TD> <FONT face='verdana' size=1> ${COUNT} aggregates </FONT> </TD> " >> ${OUT}
echo "</TR>" >> ${OUT}

echo "<P>" >> ${OUT}

#echo "Processed at `date` @${HOSTNAME} by ${PGM} v${VER} <P>" >> ${OUT}
#echo "<P>" >> ${OUT}

echo "</TABLE>" >> ${OUT}

echo "  <TABLE>" >> ${OUT}
echo "    <TR>" >> ${OUT}
echo "      <TD><FONT face= 'verdana' size=2>Legenda: </TD>" >> ${OUT}
echo "    </TR>" >> ${OUT}

echo "<TABLE BORDER=0 WIDTH='100%'>" >> ${OUT}
echo "<TR WIDTH=100% > " >> ${OUT}
echo "  <TD bgColor=#0066A1 > " >> ${OUT}
echo "    <FONT COLOR=white face='Verdana' size='1'>" >> ${OUT}
echo "      <CENTER>" >> ${OUT}
echo "Contact: |Content Owner: <A HREF="mailto:Maarten.deBoer@Atos.net">Maarten de Boer</A> |Last Update: `date`<BR>" >> ${OUT}
echo "For internal use (c) Atos S.A. 2016 all rights reserved. Reproduction in whole or in part is prohibited without the written consent of Atos SA." >> ${OUT}
echo "      </CENTER>" >> ${OUT}
echo "    </FONT>" >> ${OUT}
echo "  </TD>" >> ${OUT}
echo "</TR>" >> ${OUT}
echo "</TABLE>" >> ${OUT}

echo "</BODY>" >> ${OUT}
echo "</HTML>" >> ${OUT}

echo "${HIGHESTPERC}" | tee ${DASHBORD_HIGHESTPERC}
echo "${TOTALAGGRTB}" | tee ${DASHBORD_TOTALAGGRTB}

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

