
#!/bin/sh
# File	: chk_atostechlab-status.sh
# By	: Maarten.deBoer@Atos.net, 210106
# Subject	: Script to check Atos TechLab env
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"

CONF="${HOME}/etc/${PGM}.conf"
DATA_CSV="${HOME}/data/atostechlab-status.csv"
MAILTO="atos@agrarix.it"

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
if [ ! -f ${CONF} ]; then
  echo "  CONF (${CONF}) NOT found. Exiting ..."|tee -a ${LOG}
  exit 3
fi

echo "# DATI ; NAME; IP ; STATUS ; CHECK ;" > ${DATA_CSV}
cat ${CONF}|grep -v ^#|while read LINE
do
  echo "  ${LINE}"
# Check if ping
  PING_IP=`echo ${LINE}|grep ping|awk '{print $1}'`
  if [ "${PING_IP}" != "" ]; then
    NAME=`echo ${LINE}|awk '{print $2}'`
    echo "    PING ${PING_IP} ($NAME})"
    ping -W 2 -c 2 ${PING_IP} 1> /dev/null 2>&1
    EC=${?}
    if [ ${EC} -eq 0 ]; then
      echo "      OK"
      echo "`date +%Y-%m-%d-%H-%M-%S`;${NAME};${PING_IP};OK (green);ping;" >> ${DATA_CSV}
    else
      echo "      Nok"
      echo "`date +%Y-%m-%d-%H-%M-%S`;${NAME};${PING_IP};NOT (red);ping;" >> ${DATA_CSV}
    fi  # EC
  fi  # PING_IP}" != ""

done  # cat ${CONF}

# When MAILTO has address & is data in DATA_CSV
if [ "${MAILTO}" != "" ] && [ -s ${DATA_CSV} ]; then
  cat ${DATA_CSV} | mailx -s "atostechlab-status: [${PGM} v${VER}]" ${MAILTO}
  echo "  ${DATA_CSV} mailed to ${MAILTO}"|tee -a ${LOG}
fi

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

