
#!/bin/bash
# File	: mail_monavail.sh
# By	: MaartenDeBoer.nl, 2015-03-04
# Subject	: Script to make a selection of the MonAvail-status and send a mail
#(0.2)	: MAILFILE added
#(0.3)	: agrarix.net -> agrarix.com + update_www.sh
#(0.4)	: add options
#(0.5),171212	: Changed name from send_mails.sh
#(0.6),180308	: Added BCK-MONVAIL-status
#
PGM="`basename $0|cut -d\. -f1`"
VER="0.5"
TMP="/tmp/${PGM}.$$"
HOSTNAME="`hostname|cut -d\. -f1`"
MAILFILE="${TMP}.mailfile"

HOME="/home/monavail"
LOG="${HOME}/log/${PGM}.log"
STATUSFILE="${HOME}/data/status.dat"
LEVEL=1

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

OPT="${1}"
case ${OPT} in
  info) LEVEL=1 ;;
  warn) LEVEL=2 ;;
  crit) LEVEL=3 ;;
esac

${HOME}/bin/proc_monavail.sh 1> /dev/null
${HOME}/bin/upd_monavail.sh 1> /dev/null

cd ${HOME}/clients/
ls -1 * | while read MAILADDR
do
  cat ${MAILADDR}|grep -v ^#| while read CIDSTR
  do
    case ${LEVEL} in
      1) grep ${CIDSTR} ${STATUSFILE}|awk -F\; '{print $1" = "$2"  Last time= "$3}'|tee -a ${TMP} ;;
      2) grep ${CIDSTR} ${STATUSFILE}|egrep -v 'GREEN'|awk -F\; '{print $1" = "$2"  Last time= "$3}'|tee -a ${TMP} ;;
      3) grep ${CIDSTR} ${STATUSFILE}|grep 'RED'|awk -F\; '{print $1" = "$2"  Last time= "$3}'|tee -a ${TMP} ;;
    esac

  done  # CIDSTR

  FROM="MonAvail <monavail@agrarix.com>"
  CC=""
  BCC="agrarix13@gmail.com"
  REPLYTO="monavail@agrarix.nl"
  SUBJECT="MonAvail status"

# If TMP-file is filed, then mail
  if [ -s ${TMP} ]; then
# Send mail
    echo "From: ${FROM}" > ${MAILFILE}
    echo "To: ${MAILADDR}" >> ${MAILFILE}
    echo "Cc: ${CC}" >> ${MAILFILE}
    echo "Bcc: ${BCC}" >> ${MAILFILE}
    echo "Reply-to: ${REPLYTO}" >> ${MAILFILE}
    echo "Subject: ${SUBJECT}" >> ${MAILFILE}

    echo "MonAvail (${OPT})status of ${CIDSTR}" >> ${MAILFILE}
    cat ${TMP} >> ${MAILFILE}

    echo "Laatste status info: http://www.agrarix.com/monavail/ of (als back-up): http://monavail.agrarix.net/" >> ${MAILFILE}
    echo "" >> ${MAILFILE}
    echo "Processed at `date` by MonAvail (${PGM} v${VER}) @${HOSTNAME} (http://www.agrarix.com)" >> ${MAILFILE}
    cat ${MAILFILE} | /usr/sbin/sendmail -t
    cp /dev/null ${TMP}
    echo "  Mailed to ${MAILADDR}"|tee -a ${LOG}
  fi  # ${TMP}
done  # MAILADDR

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

