
#!/bin/sh
# File	: proc_uptime_hist.sh
# By	: Maarten.deBoer@Atos.net, 150324
# Subject	: Script to process history
#(0.1)	: From proc_history
#(0.2)	: Added comments at RED
#(0.3)	: Mod. labels
#(0.4)	: Add COUNTRY
PGM="`basename $0|cut -d\. -f1`"
VER="0.4"
TMP="/tmp/${PGM}.$$"

#BASEDIR="/appl/mdr/afsp/NL"
BASEDIR="`pwd | sed 's/scripts//'|sed 's/bin//'`"
LOG="${BASEDIR}/log/${PGM}.log"
FLU="${BASEDIR}/etc/filer-location-usage.csv"
OUT="${BASEDIR}/html/uptime.html"

COUNTRY="`echo ${BASEDIR}| cut -d\/ -f6`"

# Number of Month
NRWEEKS=17

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

touch ${TMP}

# Create PAGE
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> uptime history </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="index.html">Filer</A> uptime history 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 "</TABLE>" >> ${OUT}

cd ${BASEDIR}/data/uptime/
echo "<TABLE BORDER=1>" >> ${OUT}
# Header
echo "<TR>" >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Filer:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Location:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Usage:</B> </TD> " >> ${OUT}
ls -1dr 20*|head -n ${NRWEEKS}|while read WEEK
do
  echo "  <TD> <FONT face='verdana' size=1> <B>${WEEK}</B> </TD> " >> ${OUT}
done  # ls
echo "</TR>" >> ${OUT}

# Get all filers 1st
cat */*uptime.csv|awk -F\; '{print $1}'|grep -v ^#|sort -u|while read FILER REST
do
  echo "<TR>" >> ${OUT}
  echo "${FILER} ..."
  echo "  <TD> <FONT face='verdana' size=1> ${FILER} </TD> " >> ${OUT}

  LOC="`grep ${FILER} ${FLU} |awk -F\; '{print $2}'|sed 's/ //g'`"
  USAGE="`grep ${FILER} ${FLU} |awk -F\; '{print $3}'|sed 's/ //g'`"
  case ${LOC} in
    "NL-Eindhoven-HWU") LOCCOL="orange" ;;
    "NL-Eindhoven-Hurk") LOCCOL="yellow" ;;
    "NL-Eindhoven-Best") LOCCOL="green" ;;
    "NL-Amsterdam-NRW") LOCCOL="lightblue" ;;
    *) LOCCOL="";;
  esac
  echo "  <TD BGCOLOR=${LOCCOL}> <FONT face='verdana' size=1> ${LOC} </TD> " >> ${OUT}
  echo "  <TD> <FONT face='verdana' size=1> ${USAGE} </TD> " >> ${OUT}

  # Then get history info from the FILER
  ls -1dr 20*|head -n ${NRWEEKS}|while read WEEK REST
  do
    UPTIMEDAYS="`grep \"${FILER}\;\" ${WEEK}/*uptime.csv|head -1|awk -F\; '{print $2}'|sed 's/ //g'|sed 's/days//g'|sed 's/day//g'`"
	echo "${WEEK} ${UPTIMEDAYS}"
	UPCOL=""
	if [ ${UPTIMEDAYS} -le 365 ]; then
	  UPCOL="green"
	fi
	SPAN=""
	if [ ${UPTIMEDAYS} -lt 28 ]; then
	  UPCOL="red"
      if [ -f ${WEEK}/info.csv ]; then
		INFO="`grep ${FILER} ${WEEK}/info.csv|awk -F\; '{print $2}'`"
		if [ "${INFO}" != "" ]; then
		  SPAN="<SPAN title=\"${INFO}\">[info]</SPAN>"
          UPCOL="lightblue"
		fi  # SPAN
	  else
	    UPCOL="red"
	  fi  # comments
	fi
	if [ ${UPTIMEDAYS} -gt 365 ]; then
	  UPCOL="yellow"
	fi
	if [ ${UPTIMEDAYS} -gt 730 ]; then
	  UPCOL="orange"
	fi
#    echo "   <TD BGCOLOR=${UPCOL}><FONT face='verdana' size=1> ${UPTIMEDAYS} </TD> " >> ${OUT}
    echo "   <TD BGCOLOR=${UPCOL}><FONT face='verdana' size=1>${UPTIMEDAYS}
	${SPAN}</TD> " >> ${OUT}
  done  # ls

  echo "</TR>" >> ${OUT}
done  # cat

echo "<TR>" >> ${OUT}
echo -n "# Filer ; Uptime;" >> ${TMP}
echo "  <TD> <FONT face='verdana' size=1> <B>Filer:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Location:</B> </TD> " >> ${OUT}
echo "  <TD> <FONT face='verdana' size=1> <B>Usage:</B> </TD> " >> ${OUT}
ls -1dr 20*|head -n ${NRWEEKS}| while read WEEK
do
  echo -n "${WEEK};" >>  ${TMP}
  echo "  <TD> <FONT face='verdana' size=1> <B>${WEEK}</B> </TD> " >> ${OUT}
done  # ${WEEK}
echo "" >> ${TMP}
echo "</TR>" >> ${OUT}

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

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

echo "  <TABLE>" >> ${OUT}
echo "    <TR>" >> ${OUT}
echo "      <TD><FONT face= 'verdana' size=2>Legenda: </TD>" >> ${OUT}
echo "      <TD BGCOLOR=red> <FONT face= 'verdana' size=2> <28 days </FONT> </TD>" >> ${OUT}
echo "      <TD BGCOLOR=green> <FONT face= 'verdana' size=2> <365 days </FONT> </TD>" >> ${OUT}
echo "      <TD BGCOLOR=yellow> <FONT face= 'verdana' size=2> >365 days </FONT> </TD>" >> ${OUT}
echo "      <TD BGCOLOR=orange> <FONT face= 'verdana' size=2> >730 days </FONT> </TD>" >> ${OUT}
echo "      <TD BGCOLOR=lightblue> <FONT face= 'verdana' size=2> has (mouse)hover-over information </FONT> </TD>" >> ${OUT}
echo "    </TR>" >> ${OUT}
echo "  </TABLE>" >> ${OUT}
echo "</TR>" >> ${OUT}

echo "<P>" >> ${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. 2015 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}

##cat ${TMP}

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

