
#!//bin/sh
# File	: upd_failed-disks.sh
# By	: Maarten.deBoer@Atos.net, 2015-03-14
# Subject	: Script to process failed disks into web-pages
#(0.2)	: Show only failed disks
#(0.3)	: Added BASEDIR 
#(0.4)	: Mod IN & sort
#(0.5)	: Add COUNTRY
#(0.6)	: Changed for country
#(0.7)	: Added MODEL & VERSION
#(0.8),180530	: Mod SerNr, Name, Last ASUP, colors & disk-failure lines dur to change of proc_asup-files_for_disk-failure.sh
#(0.9),200622	: Mod. cellspacing='0'
#(0.10),220824	: Mod. "NOT supported"
# set -x
PGM="`basename $0|cut -d\. -f1`"
VER="0.10"
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"
IN="${BASEDIR}/data/afsp-disks-failures.csv"
OUT="${BASEDIR}/html/failed-disks.html"
DBDIR="${BASEDIR}/data/database"

COUNTRY="`echo ${BASEDIR}| cut -d\/ -f6`"
OUT="/appl/mdr/www/afsp/${COUNTRY}/failed-disks.html"

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

# Read Functions file
source ./afsp-db_functions.sh
DB_FUNC_VER

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:${COUNTRY}:failed disks</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%' cellspacing='0'>" >> ${OUT}
echo "  <TR HEIGHT=40px>" >> ${OUT}
echo "    <TD bgColor=#0066A1>" >> ${OUT}
echo "      <FONT COLOR=white face='Verdana' size='5'> <B>  <A HREF="../${COUNTRY}-overview.html">Filer</A> failed disks of ${COUNTRY} </B> </FONT>" >> ${OUT}
echo "      <BR>" >> ${OUT}
echo "    <FONT COLOR=red face='verdana' size='6'><CENTER> <B>NOT maintained anymore</B> </CENTER></FONT>" >> ${OUT}
echo "    <FONT COLOR=red face='verdana' size='4'><CENTER> <B>Because the other way (HTTPS) of delivery is not supported by AFSP (old way is SMTP).</CENTER></B> </FONT>" >> ${OUT}
echo "      <DIV align=right>" >> ${OUT}
echo "      <FONT COLOR=white face='verdana' size='-3'> For internal use. (c) Atos BTN `date +%Y` </B> </FONT>" >> ${OUT}
echo "      </DIV>" >> ${OUT}
echo "    <TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}
echo "</TABLE>" >> ${OUT}

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

echo "<TABLE BORDER=1 cellspacing='0'>" >> ${OUT}
echo "  <TR>" >> ${OUT}
echo "    <TD> <FONT face='verdana' size=1> <B>Serial Number:</B> </TD> " >> ${OUT}
echo "    <TD> <FONT face='verdana' size=1> <B>Name:</B> </TD> " >> ${OUT}
echo "    <TD> <FONT face='verdana' size=1> <B>Last ASUP:</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>Failed disks:</B> </TD> " >> ${OUT}
echo "  </TR>" >> ${OUT}


cat ${IN}|grep -v ^#|sort|while read LINE
do
  SERNR="`echo ${LINE}|awk -F\; '{print $1}'`"
  DISKLINE="`echo ${LINE}|awk -F\; '{print $4}'`"

# Get information from DataBase
  DBFILE="${DBDIR}/${SERNR}.asc"
  DB_READ ${DBFILE}

  echo "${DB_CONTROLER_NAME} (${SERNR}) ..."

  DISKCOL=""

  ASUPCOL=""
  YEAR="`date +%Y`"
  ANSW="`echo "${DB_ASUP_GENERATED_ON}"|grep \" ${YEAR}\"`"
  if [ "${ANSW}" = "" ]; then
    ASUPCOL="red"
  fi
  ANSW="`echo "${DB_ASUP_GENERATED_ON}"|grep \" ${YEAR}\"`"
  if [ "${ANSW}" != "" ]; then
    ASUPCOL="orange"
  fi
  MONTH="`date +%b`"
  ANSW="`echo "${DB_ASUP_GENERATED_ON}"|grep \" ${YEAR}\"|grep \" ${MONTH}\"`"
  if [ "${ANSW}" != "" ]; then
    ASUPCOL="yellow"
  fi
  DAY="`date +%d`"
  ANSW="`echo "${DB_ASUP_GENERATED_ON}"|grep \" ${YEAR}\"|grep \" ${MONTH}\"|grep \" ${DAY}\"`"
  if [ "${ANSW}" != "" ]; then
    ASUPCOL="lightgreen"
  fi
  ANSW="`echo "${DB_ASUP_GENERATED_ON}"|egrep 'UTC|GMT'`"
  if [ "${ANSW}" != "" ]; then
    ASUPCOL="purple"
  fi



  echo "<TR>" >> ${OUT}
  echo "  <TD> <FONT face='verdana' size=1> ${SERNR} </TD> " >> ${OUT}
  echo "  <TD> <FONT face='verdana' size=1> ${DB_CONTROLER_NAME} </TD> " >> ${OUT}
  echo "  <TD BGCOLOR=${ASUPCOL}> <FONT face='verdana' size=1> ${DB_ASUP_GENERATED_ON} </TD> " >> ${OUT}
  echo "  <TD> <FONT face='verdana' size=1> ${DB_MODEL_NAME} </TD> " >> ${OUT}
  echo "  <TD> <FONT face='verdana' size=1> ${DB_OS_VERSION} </TD> " >> ${OUT}
  echo "  <TD BGCOLOR=${DISKCOL}> <FONT face='verdana' size=1> ${DISKLINE} </TD> " >> ${OUT}
  echo "</TR>" >> ${OUT}

done

  echo "<TR>" >> ${OUT}
  echo "  <TD> <FONT face='verdana' size=1> `grep failed ${IN}|wc -l` disks </TD> " >> ${OUT}
  echo "</TR>" >> ${OUT}
echo "  </TABLE>" >> ${OUT}

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

echo "<TABLE WIDTH=100% cellspacing='0'> " >> ${OUT}
echo "  <TR> " >> ${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` [${PGM} v${VER}]<BR>" >> ${OUT}
echo "For internal use (c) Atos S.A. `date +%Y` 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 "`date` ${PGM} finished. "|tee -a ${LOG}
exit 0

