
#!/bin/sh
# File	: upd_dashboard.sh
# By	: Maarten.deBoer@Atos.net, 150421, 150817
# Subject	: Script to process global overwiew
#(0.2)	: Add netapp
#(0.3)	: Add cp @Overview
#(0.4)	: Add date of file
#(0.5)	: Add DFM-servers
#(0.6)	: Add failed disks
#(0.7)	: Update (rename upd_glob.sh)
#(0.8)	: Added if [ -d  's & renamed upd_dashboard.sh
#(0.9)	: Mod. uptime (ls -1d * ...)
#(0.10)	: Add list last incomming
PGM="`basename $0|cut -d\. -f1`"
VER="0.10"
TMP="${PGM}.$$"
LOG="/appl/mdr/afsp/glob/log/${PGM}.log"


BASEDIR="`pwd | sed 's/scripts//'|sed 's/bin//'`"
OUT="${BASEDIR}/html/overview.html"
OUT="/appl/mdr/www/afsp/index.html"

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

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> global </TITLE>" >> ${OUT}
echo "<basefont face='verdana'>" >> ${OUT}
echo "</HEAD>" >> ${OUT}

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

# --- Header

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

echo "<TR HEIGHT=40px>" >> ${OUT}
echo "  <TD bgColor=#0066A1>" >> ${OUT}
echo "    <FONT COLOR=white face='verdana' size='5'> <B>Atos (netapp/ibm) Filer Status Portal <BR>
Dashboard </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}


# ----------- MAIN

echo "<TABLE BORDER=1>" >> ${OUT}
echo "  <TR>" >> ${OUT}
echo "    <TD align='right'><FONT COLOR=black face='verdana' size='2'> Country -></FONT></TD>" >> ${OUT}
echo "    <TD> </TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  if [ -f /appl/mdr/www/afsp/${COUNTRY}/index.html ]; then
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'><A HREF=\"${COUNTRY}/index.html\">${COUNTRY}</A></FONT></TD>" >> ${OUT}
  else
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'>${COUNTRY}</FONT></TD>" >> ${OUT}
  fi
done  # for
echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'>Total</FONT></TD>" >> ${OUT}

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

# Overview
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Overview</FONT></TD>" >> ${OUT}
echo "    <TD> </TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  if [ -f /appl/mdr/www/afsp/${COUNTRY}-overview.html ]; then
#    cp /appl/mdr/www/afsp/${COUNTRY}/overview.html /appl/mdr/www/afsp/${COUNTRY}-overview.html 
    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'> <A HREF=\"${COUNTRY}-overview.html\">O</A> </FONT></TD>" >> ${OUT}
  else
    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'>  </FONT></TD>" >> ${OUT}
  fi
done  # for
echo "  </TR>" >> ${OUT}

# DFM-server(s)name(s)
TTLCNT=0
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>DFM-server(s)</FONT></TD>" >> ${OUT}
echo "    <TD> </TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  DFMCNT="`ls -1 /appl/mdr/mdrglob/afsp/${COUNTRY}/incomming/2*/*.csv|cut -d\_ -f2|cut -d\. -f1|sort -u|wc -l`"
  DFMS="`ls -1 /appl/mdr/mdrglob/afsp/${COUNTRY}/incomming/2*/*.csv|cut -d\_ -f2|cut -d\. -f1|sort -u`"
  if [ ${DFMCNT} -gt 0 ]; then
    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='-2'>${DFMCNT}<BR> <SPAN title=\"${DFMS}\">[?]</SPAN></FONT></TD>" >> ${OUT}
  else
    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='-2'>${DFMCNT}</FONT></TD>" >> ${OUT}
  fi  # ${DFMS}
done  # for

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


# Empty line as "boundry" for "country" section. Later username+password needed
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'><B>Per country from DFM</B></FONT></TD>" >> ${OUT}
echo "    <TD align='center'><FONT COLOR=black face='verdana' size='-3'>Last date</FONT></TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  INDATE="`cd /appl/mdr/mdrglob/afsp/${COUNTRY}/incomming; ls -1d 20*|tail -1`"
  echo "    <TD align='center'><FONT COLOR=black face='verdana' size='-2'>${INDATE}</FONT></TD>" >> ${OUT}

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


# Models
TTLCNT=0
MODDATE=""
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>LifeCylce mgt (models+version)</FONT></TD>" >> ${OUT}
echo "    <TD> </TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  CNT=0
  if [ -d /appl/mdr/mdrglob/afsp/${COUNTRY}/data/model-version ]; then
    cd /appl/mdr/mdrglob/afsp/${COUNTRY}/data/model-version
    CNT="`cat *.csv|grep -v ^#|awk -F\; '{print $1}'|sort -u|wc -l`"
    TTLCNT=`expr ${TTLCNT} + ${CNT}`
  fi
  if [ ${CNT} -gt 0 ]; then
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'> <A HREF=\"${COUNTRY}/models.html\">${CNT}</A> </FONT></TD>" >> ${OUT}
  else
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${CNT} </FONT></TD>" >> ${OUT}
  fi  # ${COUNTRY}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${TTLCNT} </FONT></TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}

# Versions
TTLCNT=0
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Release mgt (os-versions)</FONT></TD>" >> ${OUT} 
echo "    <TD> </TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  CNT=0
  if [ -d /appl/mdr/mdrglob/afsp/${COUNTRY}/data/versions ]; then
    cd /appl/mdr/mdrglob/afsp/${COUNTRY}/data/versions
    LAST="`ls -1|tail -1`"
  fi
  if [ -d /appl/mdr/mdrglob/afsp/${COUNTRY}/data/versions/${LAST} ]; then
    cd /appl/mdr/mdrglob/afsp/${COUNTRY}/data/versions/${LAST}
    CNT="`cat *.csv|grep -v ^#|awk -F\; '{print $1}'|sort -u|wc -l`"
    TTLCNT=`expr ${TTLCNT} + ${CNT}`
  fi
  if [ ${CNT} -gt 0 ]; then
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'> <A HREF=\"${COUNTRY}/versions.html\">${CNT}</A> </FONT></TD>" >> ${OUT} 
  else
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${CNT} </FONT></TD>" >> ${OUT}
  fi  # ${COUNTRY}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${TTLCNT} </FONT></TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}
TTLCNT=0

# Patches
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Patch mgt
(disk-firmware)</FONT></TD>" >> ${OUT}
echo "    <TD> </TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  TTLCNT=0
  CNT=0
  if [ -d /appl/mdr/mdrglob/afsp/${COUNTRY}/data/firmware ]; then
    cd /appl/mdr/mdrglob/afsp/${COUNTRY}/data/firmware
    CNT="`cat *.csv|grep -v ^#|sort -u|wc -l`"
    TTLCNT=`expr ${TTLCNT} + ${CNT}`
  fi 
  if [ ${CNT} -gt 0 ]; then
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'> <A HREF=\"${COUNTRY}/disk-firmware.html\">${CNT}</A> </FONT></TD>" >> ${OUT} 
  else
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${CNT} </FONT></TD>" >> ${OUT}
  fi  # ${COUNTRY}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${TTLCNT} </FONT></TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}

# Uptime
TTLCNT=0
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Availability mgt (uptime)</FONT></TD>" >> ${OUT}
echo "    <TD> </TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  if [ -d /appl/mdr/mdrglob/afsp/${COUNTRY}/data/uptime ]; then
    cd /appl/mdr/mdrglob/afsp/${COUNTRY}/data/uptime
    LAST="`ls -1d 2*|tail -1`"
  fi
  CNT=0
  if [ -d /appl/mdr/mdrglob/afsp/${COUNTRY}/data/uptime/${LAST} ]; then
    cd /appl/mdr/mdrglob/afsp/${COUNTRY}/data/uptime/${LAST}
    CNT="`cat *.csv|grep -v ^#|awk -F\; '{print $1}'|sort -u|wc -l`"
    TTLCNT=`expr ${TTLCNT} + ${CNT}`
  fi
  if [ ${CNT} -gt 0 ]; then
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'> <A HREF=\"${COUNTRY}/uptime.html\">${CNT}</A> </FONT></TD>" >> ${OUT} 
  else
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${CNT} </FONT></TD>" >> ${OUT}
  fi  # ${COUNTRY}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${TTLCNT} </FONT></TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}

# Failed disks
#TTLCNT=0
#echo "  <TR>" >> ${OUT}
#echo "    <TD><FONT COLOR=black face='verdana' size='-3'> Failed disks </FONT></TD>" >> ${OUT}
#echo "    <TD> </TD>" >> ${OUT}
#for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
#do
#  cd /appl/mdr/mdrglob/afsp/${COUNTRY}/data/
#  CNT="`cat dfm-disks-broken*.csv|grep -v ^#|wc -l`"
#  TTLCNT=`expr ${TTLCNT} + ${CNT}`
#  if [ ${CNT} -gt 0 ]; then
#    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'> <A HREF=\"${COUNTRY}/failed-disks.html\">${CNT}</A> </FONT></TD>" >> ${OUT}
#  else
#    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${CNT} </FONT></TD>" >> ${OUT}
#  fi  # ${COUNTRY}
#done  # for
#echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${TTLCNT} </FONT></TD>" >> ${OUT}
#echo "  </TR>" >> ${OUT}


# From NetApp
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'><B>From NetApp</B></FONT></TD>" >> ${OUT}
echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'>NetApp</TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}

# NetApp 2015-03-09
TTLCNT=0
FILECNT="`cat /appl/mdr/mdrglob/afsp/netapp/data/*2015-03-09.csv|wc -l`"
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'> List (2015-03-09) </FONT></TD>" >> ${OUT}
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${FILECNT} </FONT></TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  CNT="`cat /appl/mdr/mdrglob/afsp/netapp/data/*2015-03-09.csv|grep -v ^#|grep \";${COUNTRY}\"|wc -l`"
  TTLCNT=`expr ${TTLCNT} + ${CNT}`
  PERC=`expr ${CNT} \* 100 / ${FILECNT}`
  echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'>${CNT}</FONT><BR><FONT size='1'>${PERC}% </FONT></TD>" >> ${OUT}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${TTLCNT} </FONT></TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}

# NetApp 2014-03-25
TTLCNT=0
FILECNT="`cat /appl/mdr/mdrglob/afsp/netapp/data/*2014-03-25.csv|grep -vi 'WORLDLINE'|wc -l`"
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>List (2014-03-25) <BR> (excl WORLDLINE)</FONT></TD>" >> ${OUT}
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${FILECNT} </FONT></TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  CNT="`cat /appl/mdr/mdrglob/afsp/netapp/data/*2014-03-25.csv|grep -vi 'WORLDLINE'|grep -v ^#|grep \";${COUNTRY}\;"|wc -l`"
  TTLCNT=`expr ${TTLCNT} + ${CNT}`
  PERC=`expr ${CNT} \* 100 / ${FILECNT}`
  echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'>${CNT}</FONT><BR><FONT size='1'>${PERC}% </FONT></TD>" >> ${OUT}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${TTLCNT} </FONT></TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}

echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'><B>From the filers</B></FONT></TD>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='2'>ASUP</FONT></TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}

# AFSP
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Status</FONT></TD>" >> ${OUT}
echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'><A HREF=\"asup-status.html\">global</A></FONT></TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}

# LiveCycle mgt NetApp
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>LiveCycle mgt</FONT></TD>" >> ${OUT}
echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'><A HREF=\"https://msssyscol01.atos-srv.net/SAN/GLOB/Global_AFSP_Dashboard_Layer203.html\">NetApp</A></FONT></TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}


# Internal / Diagnostics
TTLCNT=0
echo "  <TD><FONT COLOR=black face='verdana' size='-3'><B>Diagnostics</B></FONT></TD>" >> ${OUT}
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>DB-files</FONT></TD>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'> </FONT></TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  if [ -d /appl/mdr/mdrglob/afsp/${COUNTRY}/data/database ]; then
    cd /appl/mdr/mdrglob/afsp/${COUNTRY}/data/database/
    CNT="`ls -1 *.asc|wc -l`"
    TTLCNT=`expr ${TTLCNT} + ${CNT}`
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${CNT} </FONT></TD>" >> ${OUT}
  else
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='2'> </FONT></TD>" >> ${OUT}
  fi

done  # COUNTRY
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='2'> ${TTLCNT} </FONT></TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}

# Diagnostics, Last incomming
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Last incomming</FONT></TD>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'> </FONT></TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  LASTDIR="`cd /appl/mdr/mdrglob/afsp/${COUNTRY}/incomming/; ls -1d 20??-??-??|tail -1`"
  echo "    <TD align='center'><FONT COLOR=black face='verdana' size='-3'> ${LASTDIR} </FONT></TD>" >> ${OUT}
done  # COUNTRY
echo "  </TR>" >> ${OUT}

# Diagnostics, Last versions
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Last versions</FONT></TD>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'> </FONT></TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  LASTDIR="`cd /appl/mdr/mdrglob/afsp/${COUNTRY}/data/versions/; ls -1d 20??m??|tail -1`"
  echo "    <TD align='center'><FONT COLOR=black face='verdana' size='-3'> ${LASTDIR} </FONT></TD>" >> ${OUT}
done  # COUNTRY
echo "  </TR>" >> ${OUT}

# Diagnostics, Last uptime
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Last uptime</FONT></TD>" >> ${OUT}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'> </FONT></TD>" >> ${OUT}
for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
do
  LASTDIR="`cd /appl/mdr/mdrglob/afsp/${COUNTRY}/data/uptime/; ls -1d 20??w??|tail -1`"
  echo "    <TD align='center'><FONT COLOR=black face='verdana' size='-3'> ${LASTDIR} </FONT></TD>" >> ${OUT}
done  # COUNTRY
echo "  </TR>" >> ${OUT}



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



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


# ----- Footer

echo "<TABLE BORDER=0 WIDTH='100%'>" >> ${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`<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}


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

