
#!/bin/sh
# File	: 
# By	: MaartenDeBoer.nl, 211220
# Subject	: Script to check (unique) hostnames from apache-logfile
#(0.2),211220	: Added IPINFO
#(0.3),211220	: Added MAILTO
PGM=`basename $0|cut -d. -f1`
VER="0.3"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
MAILTO=""

APACHE_LOG="/var/log/apache2/kerst-licht-nl_access.log"

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

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

sudo cat ${APACHE_LOG}| cut -d\- -f1| sort -u     |while read IP_ADDR
do
  echo "  ${IP_ADDR}"
  HOST=`host ${IP_ADDR}`
  HOSTNAME=`echo $HOST|awk  '{print $NF}'`
  DATE_TIME=`sudo grep "${IP_ADDR}" ${APACHE_LOG}|tail -1|cut -d\[ -f2|cut -d\] -f1`

  wget -O- -q ipinfo.io/${IP_ADDR} > ${TMP}.io
  IPINFO_COUNTRY=`cat ${TMP}.io|grep country|cut -d\: -f2|sed 's/"//g'`
  IPINFO_CITY=`cat ${TMP}.io|grep city|cut -d\: -f2|sed 's/"//g'`
  IPINFO_ORG=`cat ${TMP}.io|grep org|cut -d\: -f2|sed 's/"//g'`

#  echo "${DATE_TIME} ${IP_ADDR} ${HOSTNAME} ${IPINFO_COUNTRY} (${HOST})" >> ${TMP}
  echo "${DATE_TIME} ${IP_ADDR} ${HOSTNAME} ${IPINFO_COUNTRY} ${IPINFO_CITY} ${IPINFO_ORG}" >> ${TMP}
done

cat ${TMP}|sort 
if [ "${MAILTO}" !=  "" ]; then
  cat ${TMP}|sort |mailx -s "Check Apache LOGfile (${APACHE_LOG})" "${MAILTO}"
fi

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

