Code: Select all
#!/bin/bash
ADAY='14'; # Abrechungstag bei Puretec
DATEI='/tmp/panik.trf'; #zum Zwischenspeichern
ZWEI= '/tmp/test.trf';
PANIK_TRAFFIC=500; #Trafficlimit für eine Stunde in MB
MAX_TRAFFIC=50000; # Gesamtlimit in MB
EMAIL='meineMail'; #Benachrichtigungsadresse
WEBROOT='/home/www'
MAILDIR='/var/spool/mail'
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
#Normale Ausgabe
date > $ZWEI
echo "Festplattenspeichernutzung der Benutzern" >> $ZWEI
# wechselt nach webroot
cd $WEBROOT
# Schleife über alle web* Verzeichnisse
for i in web*
do
echo "$i:" >> $ZWEI
echo ------ >> $ZWEI
# du Berechnet den Speicherplatz
# -L folgt Symlinks, -h Human, -s Summary, -c Totale
du -Lhsc $WEBROOT/$i/ $MAILDIR/$i* >> $ZWEI
echo "==============================" >> $ZWEI
done
# wechelst wieder zurück
cd ~
echo ==================================== >> $ZWEI
echo $TRAFFIC." MB" >> $ZWEI
cat $ZWEI | mail -s "Server Status" $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
Danke
TO