
#!/bin/sh
# File	: upd_netapp-info.sh
# By	: Maarten.deBoer@Atos.net, 230118, 230316
# Subject	: Script to update web-site/page about NetApp-inventory
#(0.2),230118	: Added CNT_LINES
#(0.3),230119	: Added last status
#(0.4),230119	: Added download-URL
#(0.5),230119	: Added Date-Time color
#(0.6),230119	: Added Countries
#(0.7),230119	: Added # of Clusters
#(0.8),230124	: Added USAGE
#(0.9),230124	: Added DATACSV
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"

BASEDIR="${HOME}/netapp-info"
INCSVDIR="${BASEDIR}/csv-files"
DATADIR="${BASEDIR}/data"
COUNTRIES="${BASEDIR}/etc/mgt-srv2country.csv"

PAGEDIR="/appl/netapp/html/netapp-info"
PAGE="${PAGEDIR}/index.html"
CSVPAGEDIR="/appl/netapp/html/netapp-info/csv"

DATACSV=""
#DATACSV="${BASEDIR}/data/NetApp_Atos-IB_20220102.csv"

TODATE=`date +%Y%m%d`
YTDATE=`date +%Y%m%d --date=yesterday`
LWDATE=`date +%Y%m%d --date=-1week`

STATUS_PAGE=""
CLUSTER_PAGE=""
CLUSTERFILTER="nlnaf"
CLUSTERFILTER="[?]*"

# Functions
USAGE()
{
  echo "Usage: ${PGM} <option(s)>"
  echo "  Version: ${VER}"
  echo "  options           :"
  echo "    -s              : make Status-page"
  echo "    -h | --help     : this help"
  echo "    -V              : Version"
  echo "    -x              : set -x"
  echo "    --mailto        : change MAILTO address & do send mail (${MAILTO})"
}
## MAIN
# Check options
while [ ${#} -ge 1 ]
  do
  case $1 in
    -s|--status) STATUS_PAGE=1 ;;
    -n) NODE_PAGE=1 ;;
    -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} started."|tee -a ${LOG} ${TMP}.mail
echo "  BASEDIR=${BASEDIR}"|tee -a ${LOG}
echo "  COUNTRIES=${COUNTRIES}"|tee -a ${LOG}
echo "  INCSVDIR=${INCSVDIR}"|tee -a ${LOG}
echo "  DATADIR=${DATADIR}"|tee -a ${LOG}
echo "  PAGEDIR=${PAGEDIR}"|tee -a ${LOG}
echo "  STATUS_PAGE=${STATUS_PAGE}"| tee -a ${LOG}
echo "  NODE_PAGE=${NODE_PAGE}"| tee -a ${LOG}
sleep 1


# STATUS_PAGE
if [ ${STATUS_PAGE} ]; then
  PAGE="${PAGEDIR}/index.html"
  echo "  PAGE=${PAGE}"|tee -a ${LOG}


echo "<!DOCTYPE html>" > ${PAGE}
echo "<HTML>" >> ${PAGE}
echo "<HEAD>" >> ${PAGE}
echo "<META charset='UTF-8'>" >> ${PAGE}
echo "<META content=Maarten de Boer name=AUTHOR>" >> ${PAGE}
echo "<link rel="icon" href="atos-fav.ico" type="image/png">" >> ${PAGE}
echo "<TITLE>NA INFO :</TITLE>" >> ${PAGE}
echo "<basefont face='verdana'>" >> ${PAGE}
echo "</HEAD>" >> ${PAGE}

echo "<BODY aLink=blue bgColor=#D3D0D3 link=blue text=#000000 vLink=blue>" >> ${PAGE}
echo "<TABLE BORDER=0 WIDTH='100%'>" >> ${PAGE}
echo "<TR HEIGHT=40px>" >> ${PAGE}
echo "  <TD bgColor=#0066A1>" >> ${PAGE}
echo "    <FONT COLOR=white face='verdana' size='5'> <B>NetApp info status:</B> </FONT>" >> ${PAGE}
echo "    <BR>" >> ${PAGE}
echo "  </TD>" >> ${PAGE}
echo "</TR>" >> ${PAGE}
echo "</TABLE>" >> ${PAGE}

echo "<BR>" >> ${PAGE}



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

echo "  <TR>" >> ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='4'><B>From</FONT> </B></TD>" >>  ${PAGE}
#echo "    <TD> <FONT COLOR=black face='verdana' size='4'><B>Type</FONT> </B></TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='4'><B>Date Time (URL=csv-file) </FONT> </B></TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='4'><B># lines in CSV-file</B></FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='4'><B># Clusters in CSV-file</B></FONT> </TD>" >>  ${PAGE}
echo "  </TR>" >> ${PAGE}

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

cd ${INCSVDIR}
# ${INCSVDIR}/netapp-info_${DATI}.csv
# List and Sort the FROM's
ls -1tr netapp-info_*.csv |awk -F\_ '{print $2}'|sort -u|while read LINE1
do
  FROM=`echo ${LINE1}|cut -d\. -f1|awk -F\_ '{print $1}'`
#  TYPE=`echo ${LINE1}|cut -d\. -f1|awk -F\_ '{print $2}'`
#  DATI=`echo ${LINE1}|cut -d\. -f1|awk -F\_ '{print $2}'`
  echo "    LINE1=${LINE1} FROM=${FROM}"

# Sort out the last file(DATA) FROM
  ls -1t netapp-info_${FROM}*.csv|head -1|while read LINE2
  do
    echo "      LINE2=${LINE2}"
    echo "  <TR>" >> ${PAGE}
    L_FROM=`echo ${LINE2}|cut -d\. -f1|awk -F\_ '{print $2}'`
    L_DATI=`echo ${LINE2}|cut -d\. -f1|awk -F\_ '{print $3}'`
    CNT_LINES=`cat ${LINE2}|grep -v ^#|wc -l`
    CNT_CLUSTERS=`cat ${LINE2}|grep -v ^#|cut -d\; -f1|sort -u|wc -l`

# Copy CSV to WEB-dir
    cp ${LINE2} ${CSVPAGEDIR}/
    chmod 644 ${CSVPAGEDIR}/${LINE2}
    CSVURL="//nlxnetapp02.bcklan.ao-srv.com/netapp-info/csv/${LINE2}"
    DATI_BGC="orange"

    FILE_DATE=`echo "${L_DATI}"|cut -d\- -f1-3|sed 's/-//g'`
    if [ ${FILE_DATE} -gt ${LWDATE} ]; then
      DATI_BGC="yellow"
    fi
    if [ ${FILE_DATE} -eq ${TODATE} ]; then
      DATI_BGC="lightgreen"
    fi

    if [ -f ${COUNTRIES} ]; then
# If Countries-file (mgt-srv2country.csv), then check country from mgt-srv
      COUNTRY=`grep ${L_FROM} ${COUNTRIES}|grep -v ^#|awk -F\; '{print $2}'|head -1`
      L_FROM="(${COUNTRY}) ${L_FROM}"
      echo "        COUNTRY=${COUNTRY}"
    fi 

    echo "    <TD> <FONT COLOR=black face='verdana' size='4'>${L_FROM}</FONT> </TD>" >>  ${PAGE}
#    echo "    <TD> <FONT COLOR=black face='verdana' size='4'>${L_TYPE}</FONT> </TD>" >>  ${PAGE}
    echo "    <TD BGCOLOR=${DATI_BGC}> <FONT COLOR=black face='verdana' size='4'><A HREF=\"${CSVURL}\">${L_DATI}</A> </FONT> </TD>" >>  ${PAGE}
    echo "    <TD> <FONT COLOR=black face='verdana' size='4'>${CNT_LINES}</FONT> </TD>" >>  ${PAGE}
    echo "    <TD> <FONT COLOR=black face='verdana' size='4'>${CNT_CLUSTERS}</FONT> </TD>" >>  ${PAGE}

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

  done  # LINE2

done  # LINE1

echo "  </TR>" >> ${PAGE}
echo "</TABLE>" >> ${PAGE}



# EXTRA (at page)
echo "<HR>" >> ${PAGE}
echo "<TABLE BORDER=1 cellspacing='0' ID='buttons'>" >> ${PAGE}
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='3'> EXTRA: </FONT> </TD>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='3'> <A HREF=\"http://nlxnetapp02.bcklan.ao-srv.com/download/SCRIPTS/\" target=_blank target=_blank >Download</A> </FONT> </TD>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='3'> <A HREF=\"http://nlxnetapp01.bcklan.ao-srv.com/wiki/doku.php?id=netapp-info\" target=_blank target=_blank >Wiki</A> </FONT> </TD>" >> ${PAGE}

if [ -f ${PAGEDIR}/inputdir.html ]; then
  echo "    <TD><FONT COLOR=black face='verdana' size='3'> <A HREF=inputdir.html>inputdir</A> </FONT> </TD>" >> ${PAGE}
fi  # -f
if [ -f ${PAGEDIR}/cluster-page.html ]; then
  echo "    <TD><FONT COLOR=black face='verdana' size='3'> <A HREF=cluster-page.html>Cluster-Page</A> </FONT> </TD>" >> ${PAGE}
fi  # -f
if [ -f ${PAGEDIR}/node-page.html ]; then
  echo "    <TD><FONT COLOR=black face='verdana' size='3'> <A HREF=node-page.html>Node-Page</A> </FONT> </TD>" >> ${PAGE}
fi  # -f

echo "  </TR>" >> ${PAGE}
echo "</TABLE>" >> ${PAGE}

echo "<HR>" >> ${PAGE}
echo "<TABLE> " >> ${PAGE}
echo "  <TR> " >> ${PAGE}
echo "    <TD><FONT face= 'verdana' size=2><B><U>LEGENDA: </U></B></TD> " >> ${PAGE}
echo "  </TR> " >> ${PAGE}
echo "  <TR> " >> ${PAGE}
echo "    <TD><FONT face= 'verdana' size=2>From: </TD> " >> ${PAGE}
echo "  </TR> " >> ${PAGE}
echo "  <TR> " >> ${PAGE}
echo "    <TD><FONT face= 'verdana' size=2>Date Time: </TD> " >> ${PAGE}
echo "    <TD BGCOLOR=lightgreen> <FONT face= 'verdana' size=2>Today</FONT> </TD> " >> ${PAGE}
echo "    <TD BGCOLOR=yellow> <FONT face= 'verdana' size=2>Date > 1 day < 1 week</FONT> </TD> " >> ${PAGE}
echo "    <TD BGCOLOR=orange> <FONT face= 'verdana' size=2>Date > 1 week</FONT> </TD> " >> ${PAGE}
echo "  </TR> " >> ${PAGE}
echo "</TABLE> " >> ${PAGE}


echo "<TABLE BORDER=0 WIDTH='100%'>" >> ${PAGE}
echo "<TR>" >> ${PAGE}
echo "  <TD bgColor=#0066A1 >" >> ${PAGE}
echo "    <FONT COLOR=white face='Verdana' size='1'>" >> ${PAGE}
echo "      <CENTER>" >> ${PAGE}
echo "Contact: |Content Owner: <A HREF=mailto:Maarten.deBoer@Atos.net>Maarten de Boer</A> |Last Update: `date` [${PGM} v${VER}]<BR>" >> ${PAGE}
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." >> ${PAGE}
echo "      </CENTER>" >> ${PAGE}
echo "    </FONT>" >> ${PAGE}
echo "  </TD>" >> ${PAGE}
echo "</TR>" >> ${PAGE}
echo "</TABLE>" >> ${PAGE}

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

fi  # STATUS_PAGE











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

