
#!/bin/sh
# File	: ping_list.sh
# By	: Maarten.deBoer, 250218
# Subject	: Script to ping a list
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
LOG="${HOME}/log/${PGM}.log"
LST="${HOME}/etc/${PGM}.lst"
FILTER="[?]*"

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

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

if [ ! -f ${LST} ]; then
  echo "  LIST (${LST}) NOT found. Exiting ..."|tee -a ${LOG}
  exit 4
fi  # -f

cat ${LST}|grep -v ^#|grep "${FILTER}"|while read LINE
do
  IP_ADDR=`echo "${LINE}"|awk '{print $1}'`
  NAME=`echo "${LINE}"|awk '{print $2}'`
  echo -n "  ${NAME} (${IP_ADDR}) ="|tee -a ${LOG}
  ping -w 2 -c 2 ${IP_ADDR} 1> /dev/null 2>&1
  EC=${?}
  if [ ${EC} -eq 0 ]; then
    echo " OK (${EC})"|tee -a ${LOG}
  else
    echo " NOTok (${EC})"|tee -a ${LOG}
  fi
done  # LINE


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

