#!/bin/bash if [[ 'X' == "X$1" ]] then SRC='/var/log/syslog.all' CAT='cat' OUT='/tmp/ntp-clients.txt' else SRC="$1" ext=${SRC##*.} if [[ 'gz' == "${ext}" ]] then CAT='zcat' bn=$(basename ${SRC}) dt=$(echo "${bn}" | awk -F'-' '{print $2}' | awk -F'.' '{print $1}') OUT="/var/log/ntp-clients/clients-${dt}.txt" if [[ ! -d /var/log/ntp-clients ]] then mkdir /var/log/ntp-clients fi else CAT='cat' OUT='/tmp/ntp-clients.txt' fi fi #cat /var/log/syslog.all | grep 'INCOMING NTP' | awk -F'=' '{print $5}' | awk '{print $1}' | sort -un | while read num echo "${CAT} ${SRC} ${ext}" ${CAT} ${SRC} | grep 'INCOMING NTP' | grep -o "SRC=[^ ]* " | sed 's/SRC=//' | sort -u | while read num do name=$(dig -x $num +short | head -1) if [[ 'X' == "X${name}" ]] then name='###' fi cnt=$(${CAT} ${SRC} | grep 'INCOMING NTP' | grep -c ${num}) echo "$num $name $cnt" done > ${OUT}