
#!/bin/sh
# File	: upd_cx-info.sh
# By	: Maarten.deBoer@Atos.net, 240212
# Subject	: Script to Update CX-info-web-page
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
RCFILE="${HOME}/etc/${PGM}.rc"

#PAGEDIR="/var/www/htlm/techlab"
#PAGE="${PAGEDIR}/index.html"

CX_HOSTS="${HOME}/etc/system_ping.hosts"
CX_DIR="/CX-info"

BASEDIR=""
WEBDIR="/var/www/html/techlab/cx"
HTML="${BASEDIR}/${WEBDIR}/index.html"
EXTURL="http://10.90.32.23/techlab/cx/"
TITLE="TechLab Cisco Switch page"

UPD_SUBDIR_PAGE()
{
echo "<!DOCTYPE html>" > ${HTML2}
echo "<HTML>" >> ${HTML2}
echo "<HEAD>" >> ${HTML2}
echo "<META charset='UTF-8'>" >> ${HTML2}
echo "<META content=Maarten de Boer name=AUTHOR>" >> ${HTML2}
echo "<TITLE> ${TITLE} </TITLE>" >> ${HTML2}
echo "<basefont face='verdana'>" >> ${HTML2}
echo "</HEAD>" >> ${HTML2}
echo "<BODY aLink=red bgColor=#D3D0D3 link=red text=#000000 vLink=#ff0000>" >> ${HTML2} 

echo "<TABLE BORDER=0 WIDTH='100%' cellspacing='0'>" >> ${HTML2}
echo "<TR WIDTH=100% HEIGHT=40px>" >> ${HTML2}
echo "  <TD bgColor=#0066A1>" >> ${HTML2}
echo "    <FONT COLOR=white face='verdana' size='6'> ${TITLE} <BR> </FONT>" >> ${HTML2}
echo "    <DIV align=right>" >> ${HTML2}
echo "      <FONT COLOR=white face='verdana' size='-3'> For internal use. (c) Atos `date +%Y` </B> </FONT>" >> ${HTML2}
echo "    </DIV>" >> ${HTML2}
echo "  </TD>" >> ${HTML2}
echo "</TR>" >> ${HTML2}
echo "</TABLE>" >> ${HTML2}

#----------------------------------------------------------------
echo "<TABLE BORDER=1 WIDTH='100%' cellspacing='0'>" >> ${HTML2}
echo "  <TR WIDTH=100% >" >> ${HTML2}
echo "    <TH> PORT: </TH>" >> ${HTML2}
echo "    <TH> NAME: </TH>" >> ${HTML2}
echo "    <TH> STATUS: </TH>" >> ${HTML2}
echo "    <TH> VLAN: </TH>" >> ${HTML2}
echo "    <TH> DUPLEX: </TH>" >> ${HTML2}
echo "    <TH> SPEED: </TH>" >> ${HTML2}
echo "    <TH> TYPE: </TH>" >> ${HTML2}
echo "  </TR>" >> ${HTML2}

LAST_STATUS_FILE=`ls -1 ${CX_DIR}/${DIR}/*interface-status*| tail -1`
echo "    LAST_STATUS_FILE=${LAST_STATUS_FILE}"

cat ${LAST_STATUS_FILE}|grep -vi port|while read LINE2
do
  PORT=`echo ${LINE2}|awk '{print $1}'`
  NAME=`echo ${LINE2}|awk '{print $2}'`
  STATUS=`echo ${LINE2}|awk '{print $3}'`
  VLAN=`echo ${LINE2}|awk '{print $4}'`
  DUPLEX=`echo ${LINE2}|awk '{print $5}'`
  SPEED=`echo ${LINE2}|awk '{print $6}'`
  TYPE=`echo ${LINE2}|awk '{print $7}'`

#  echo "      STATUS=${STATUS}|"

  STATUS_BG=""
  case ${STATUS} in
    "connected") STATUS_BG="lightgreen" ;;
    "disabled") STATUS_BG="yellow" ;;
    "notconnect") STATUS_BG="orange" ;;
  esac

  if [ "${STATUS}" != "" ]; then
    echo "  <TR WIDTH=100% >" >> ${HTML2}
    echo "    <TD> ${PORT} </TD>" >> ${HTML2}
    echo "    <TD> ${NAME} </TD>" >> ${HTML2}
    echo "    <TD BGCOLOR=${STATUS_BG}> ${STATUS} </TD>" >> ${HTML2}
    echo "    <TD> ${VLAN} </TD>" >> ${HTML2}
    echo "    <TD> ${DUPLEX} </TD>" >> ${HTML2}
    echo "    <TD> ${SPEED} </TD>" >> ${HTML2}
    echo "    <TD> ${TYPE} </TD>" >> ${HTML2}
    echo "  </TR>" >> ${HTML2}
  fi  # STATUS <> ""
done  # LINE2

echo "</TABLE>" >> ${HTML2}
#----------------------------------------------------------------

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

echo "</BODY>" >> ${HTML2}
echo "</HTML>" >> ${HTML2}
}
# UPD_SUBDIR_PAGE


echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
if [ -f ${RCFILE} ]; then
  echo "  RCFILE (${RCFILE}) found. Using ..."|tee -a ${LOG}
  . ${RCFILE}
fi
echo "  BASEDIR=${BASEDIR}"
echo "  WEBDIR=${WEBDIR}"
echo "  HTML=${HTML}"
echo "  CX_HOSTS=${CX_HOSTS}"
echo "  CX_DIR=${CX_DIR}"
echo "  TITLE=${TITLE}"
sleep 1

touch ${TMP}

echo "<!DOCTYPE html>" > ${HTML}
echo "<HTML>" >> ${HTML}
echo "<HEAD>" >> ${HTML}
echo "<META charset='UTF-8'>" >> ${HTML}
echo "<META content=Maarten de Boer name=AUTHOR>" >> ${HTML}
echo "<TITLE> ${TITLE} </TITLE>" >> ${HTML}
echo "<basefont face='verdana'>" >> ${HTML}
echo "</HEAD>" >> ${HTML}
echo "<BODY aLink=red bgColor=#D3D0D3 link=red text=#000000 vLink=#ff0000>" >> ${HTML}

echo "<TABLE BORDER=0 WIDTH='100%' cellspacing='0'>" >> ${HTML}
echo "<TR WIDTH=100% HEIGHT=40px>" >> ${HTML}
echo "  <TD bgColor=#0066A1>" >> ${HTML}
echo "    <FONT COLOR=white face='verdana' size='6'> ${TITLE} <BR> </FONT>" >> ${HTML}
echo "    <DIV align=right>" >> ${HTML}
echo "      <FONT COLOR=white face='verdana' size='-3'> For internal use. (c) Atos `date +%Y` </B> </FONT>" >> ${HTML}
echo "    </DIV>" >> ${HTML}
echo "  </TD>" >> ${HTML}
echo "</TR>" >> ${HTML}
echo "</TABLE>" >> ${HTML}

echo "<TABLE BORDER=1 WIDTH='100%' cellspacing='0'>" >> ${HTML}

echo "  <TR WIDTH=100% >" >> ${HTML}
echo "    <TH> CX: </TH>" >> ${HTML}
echo "    <TH> INFO: </TH>" >> ${HTML}
echo "  </TR>" >> ${HTML}

ls -1 ${CX_DIR}|while read DIR
do
  IP_ADDR=`grep "${DIR}" ${CX_HOSTS}|grep -v ^#|awk '{print $1}'`
  echo "    ${DIR} (${IP_ADDR})"

# ---------------------------------
# Sub.dir
  SUBDIR="${WEBDIR}/${DIR}"
  if [ ! -d ${SUBDIR} ]; then
    mkdir ${SUBDIR}
  fi  # ! -d
  HTML2="${SUBDIR}/index.html"
  UPD_SUBDIR_PAGE
# ---------------------------------

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

  if [ -d ${SUBDIR} ]; then
    echo "    <TD>" >> ${HTML}
    echo "    <A HREF=\"${DIR}\">${DIR}</A> (${IP_ADDR})" >> ${HTML}
    echo "    </TD>" >> ${HTML}
  else
    echo "    <TD>" >> ${HTML}
    echo "    ${DIR} (${IP_ADDR})" >> ${HTML}
    echo "    </TD>" >> ${HTML}
  fi

  echo "    <TD>" >> ${HTML}
# IOS version
  VERSION=`grep -i " ios " ${CX_DIR}/${DIR}/CX*version*|tail -1`
  echo "    ${VERSION}" >> ${HTML}
  echo "    </TD>" >> ${HTML}

  echo "  </TR>" >> ${HTML}
done  # DIR




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

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

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

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

