Da ich neugierig bin, wie die Besucher so auf cratoo.de landen, werfe ich öfter einen Blick auf meine Awstats-Apache-Log-Auswertung. Leider wird die Übersicht der Begriffe aus Suchmaschinen ziemlich schnell unübersichtlich. Und da ich eh ein Freund von E-Mail-Benachrichtigung bin hab ich mir ein kleines Skript geschrieben:
#!/bin/bash
#for hit in `grep -i “google\.de\/search” /var/log/apache2/access.log | awk -F ” ” ‘{ print $11″–”$7″–”$4″–”$1 }’`
#UPDATE 1 – Ausbau auf google.* und blogsearch
#for hit in `grep -i “google\..*\/(blog|)search” /var/log/apache2/access.log | awk -F ” ” ‘{ print $11″–”$7″–”$4″–”$1 }’`
#UPDATE 2 – Live Search hinzugefügt
for hit in `grep -i -e “google\..*\/(blog|)search” -e “search.live.com” /var/log/apache2/access.log | awk -F ” ” ‘{ print $11″–”$7″–”$4″–”$1 }’`do
fgrep “$hit” /root/notifies
if [ "$?" -eq 1 ];
then
query=`echo “$hit” | grep -oE “(^|[?&])q=[^&\"]+” | sed -e “s/+/ /g” -e “s/[?&]q=//g”`
subject=`echo “$hit” | awk -F “–” ‘{print $4}’`” $query”
target=`echo “$hit” | awk -F “–” ‘{print $2}’`
zeit=`echo “$hit” | awk -F “–” ‘{print $3}’`
referrer=`echo “$hit” | awk -F “–” ‘{print $1}’`
ip=`echo “$hit” | awk -F “–” ‘{print $4}’`
#UPDATE GEOip
geo=`/usr/bin/geoiplookup $ip`
#body=”Query: $query \nZiel: $target \nZeit: $zeit\nIP: $ip\nReferrer: $referrer”
body=”Query: $query \nZiel: $target \nZeit: $zeit\nIP: $ip\nGeo: $geo\nReferrer: $referrer”
echo -e “$body” | mail -s “$subject” crash@cratoo.de
echo “$hit” >> /root/notifies
fi
done
Es wird also immer die aktuelle access.log nach google.de geparsed und ip, Referrer, Datum sowie die Seite welche aufgerufen wurde per Mail verschickt.
Btw aktuell Top-Suchbegriff ist “Weihnachtsmeditation”








