
#!/bin/sh
# File	: lnx_syslog_chk.sh
# By	: Maarten.deBoer@Atos.net, 240312
# Subject	: Script to check syslog of (all) Linux systems
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n"

SYSLOG_SRV="172.16.10.10"
HOSTS="${HOME}/etc/linux.hosts"
FILTER="[?]*"
SLEEP=10

if [ "${1}" != "" ]; then
  SLEEP="${1}"
fi
if [ "${2}" != "" ]; then
  FILTER="${2}"
fi

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "  SLEEP(1)=${SLEEP}"
echo "  FILTER(2)=${FILTER}"
echo "  HOSTS=${HOSTS}"
echo "  SYSLOG_SRV=${SYSLOG_SRV}"
sleep 1

touch ${TMP}

if [ -f ${HOSTS} ]; then
  cat ${HOSTS}|grep -v ^#|grep "${FILTER}"| while read LINE
  do
    echo "  LINE=${LINE}"
    IP_ADDR=`echo ${LINE}|awk '{print $1}'`
    REM_HOST=`${SSH} ${IP_ADDR} "hostname" |cut -d\. -f1`
    DATI=`date +%Y-%m-%d_%H:%M:%S`

    ${SSH} ${IP_ADDR} "logger -p syslog.notice \"Syslog check by ${PGM}|${DATI}| \" "
    echo "  REM_HOST=${REM_HOST} DATI=${DATI} sleeping ... ${SLEEP}s"
    sleep ${SLEEP}

    REM_LINE=`${SSH} ${SYSLOG_SRV} "sudo grep ${REM_HOST} /var/log/syslog/syslog.log|grep ${PGM}|tail -1"`

    echo "DATI=${DATI} REM_LINE=${REM_LINE}|"


  done  # LINE
else
  echo "  NO HOSTS (${HOSTS}) found."|tee -a ${LOG}
fi  # HOSTS


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

