Servus, ich hab ein kurzes Script geschrieben, welches die Logdatei des Apache-Webservers überwacht und bei bestimmten Zugriffen einen Befehl ausführt (zb ein Popup anzeigt). Einige Zugriffe werden herausgefiltert, da Apache jede einzelne angeforderte Datei protokolliert und zb eine Seite mit vielen Bildern dementsprechend viele Zugriffe (und somit Popups) produzieren würde. Standardmäßig werden nur Zugriffe auf *.htm(l), *.php und *.mp3 Dateien angezeigt, das lässt sich jedoch leicht ändern. Weiterhin werden lokale Zugriffe (also von der IP 127.*) ausgeblendet.

Zur Installation:
Das Script benutzt inotify um die Logdatei zu überwachen, dies sollte in allen aktuellen Distributionen enthalten sein. Zusätzlich braucht man die inotify-tools, unter Debian/Ubuntu zu installieren per
Code:
sudo aptitude install inotify-tools
(in Ubuntu muss das Universe Repository aktiviert sein).

Und hier das Script:
Code:
#!/bin/bash
IFS="
"

file="/var/log/apache2/access.log"

while inotifywait -e modify "$file"; do
line="$(tail -n1 "$file")"
line2="$(echo "$line" | egrep -v "^127" | egrep 'GET[^"]*(\.(php|htm|mp3)|/[\? ])[^"]*"')"
if [ -n "$line2" ]; then
line2=$(echo "$line" | sed 's/\([0-9\.]*\).*GET\s\(\S*\).*/\1: \2/')
ip="$(echo "$line" | sed 's/^\([0-9\.]*\)\s.*/\1/')"
filename="$(echo "$line" | sed '{s/.*"GET \(\S*\)\s.*/\1/;s/&/_/}')"
#filename="$(python -c "from urllib import unquote; print unquote('$(echo "$line" | sed '{s/.*"GET \(\S*\)\s.*/\1/;s/&/_/}')')")"
notify-send "apache" "$ip: $filename"
fi
done

Möglicherweise muss der Pfad zur Apache-Logdatei angepasst werden, unter Ubuntu liegt sie eben wie oben unter "/var/log/apache2/access.log"
Wer andere Dateiendungen angezeigt haben will, kann dies ebenfalls anpassen. Die Endungen werden einfach durch "|" getrennt.
Wer komplizierte URLs ein bisserl lesbarer haben will (zb statt %20 Leerzeichen), kann die Zeile mit dem "#" am Anfang benutzen (einfach das # am Anfang löschen), dazu muss allerdings python installiert sein.
Zu guter Letzt kann das Popup noch angepasst werden. Notify-send ist Standard unter Gnome und Xfce, unter KDE funktioniert zb "kdialog --passivepopup".

So, ich hoffe jemand kanns gebrauchen.
Viel Spaß
b0b