#!/bin/bash
MAILTO="root"
HOSTNAME=`hostname`
getports() {
  lsof -i -n -P | awk '/LISTEN/ {print $1"/"$3"/"$8}' | sort -u
}

OLD="$(getports)"
echo -e "Beginne mit folgender Port-Belegung:\n$OLD"
while sleep 10 ; do
  NEW="$(getports)"
  if test "$OLD" != "$NEW" ; then
    echo "Aenderung der Portbelegung! Informiere Administrator per E-Mail"
    mail -s "Achtung: $HOSTNAME LISTEN-Status geaendert" $MAILTO <<EOF
Status vor der Aenderung:
$OLD

Status nach der Aenderung:
$NEW
EOF
  fi
  OLD="$NEW"
done