vor kurzem hatte ich mein Traffic->Email->SMS Skript ja schon mal vorgestelllt: http://www.rootforum.org/forum/viewtopi ... highlight=
Ich habe es nun nochmal gründlichst überarbeitet und um ein paar Möglichkeiten ergänzt. Vorraussetzung ist eine funktionierende
iam Installation.
Als E-Mail-> SMS Gateway nutze ich den kostenpflichtigen (aber sehr günstigen) Dienst von Uboot.com. Es sollte aber auch bei eplus-online, etc.. gehen.
Code: Select all
#!/bin/bash
ADAY='14' # Abrechungstag bei Puretec
DATEI='/tmp/panik.trf'; #zum Zwischenspeichern
PANIK_TRAFFIC=500; #Trafficlimit für eine Stunde in MB
MAX_TRAFFIC=50000; # Gesamtlimit in MB
EMAIL='xxxx@uboot.com'; #Benachrichtigungsadresse
YM_DAY=`date '+%d'`
HOUR=`date '+%I'`
if [ $YM_DAY -lt $ADAY ]
then
YM_CURRENT=`date --date='1 month ago' '+%Y%m'`$ADAY
else
YM_CURRENT=`date '+%Y%m'`$ADAY
fi
OLD_TRAFFIC=`tail $DATEI`;
TRAFFIC=`/usr/local/iam/iam --from-date=$YM_CURRENT -r /usr/local/iam/dump | grep internet | perl -ne '@option = split (" ","$_"); print $option[1];'`
echo $TRAFFIC > $DATEI
#Morgens und Abends eine Info über den Trafficstand 'Ich lebe noch'
if [ $HOUR == 10 ]
then
echo $TRAFFIC." MB" | mail -s traffic $EMAIL
fi
TRAFFIC_VERBRAUCH=`bc<<Ende
$TRAFFIC-$OLD_TRAFFIC
Ende`;
TRAFFIC_VERBRAUCH=`printf "%.0f" $TRAFFIC_VERBRAUCH`
TRAFFIC=`printf "%.0f" $TRAFFIC`
# Ist innerhalb einer Stunde mehr verbraucht als im Limit melde Dich!
if [ $TRAFFIC_VERBRAUCH -gt $PANIK_TRAFFIC ]
then
echo "ACHTUNG ! "$TRAFFIC_VERBRAUCH" MB verbraucht." | mail -s Panik $EMAIL
fi
# Ist Inclusivtraffic verbraucht, melde Dich!
if [ $TRAFFIC -gt $MAX_TRAFFIC ]
then
echo "ACHTUNG ! Maximales Trafficlimit abgelaufen." | mail -s Panik $EMAIL
fi
2 * * * * /var/backup/traffic >/dev/null
Nach dem Muster könnte man auch die Abschaltung einzelner Dienste steuern (z.B. bei 55000 MB den FTPd ...).
Hinweise zu diesem Skript sind willkommen ....
Björn