Das Shell-Skript acct stellt fest, ob gerade keine ISDN-Verbindung besteht und beendet daraufhin KA9Q. Anschließend holt es die Logdateien und wertet sie mittels isacct aus (Listing 5).
#!/bin/sh cd $HOME/pro/isdn/acct DATE=`date +"%d.%m."` LAST="LAST-RESET" # feststellen, ob gerade keine ISDN-Verbindung besteht # und KA9Q beenden if [ $# -eq 0 ] ; then DONE="" while [ "$DONE" = "" ]; do IS0UP=`grep is0 /var/adm/isdnlog | tail -1 | grep up` IS1UP=`grep is1 /var/adm/isdnlog | tail -1 | grep up` if [ -z "$IS0UP" -a -z "$IS1UP" ]; then ka9q-remote -k XXXXXX -c exit router touch $LAST DONE="DONE" else sleep 30 # erst mal warten fi done else ka9q-remote -k XXXXXX -c exit router touch $LAST fi sleep 900 # im Artikel stand 120, aber das ist bei großen zu # komprimierenden Logdateien manchmal zu wenig. # alte ZIP-Dateien loeschen rm -f is[01].zip>& /dev/null # neue Logdateien holen und auf dem Router löschen ftp -i -n router<<EOF # "acct" muss isdnadm gehoeren # und 700 sein, wegen des Klartextpassworts: user isdnadm tralala cd /net bin get is0.zip get is1.zip del is0.zip del is1.zip quit EOF # jetzt Logdateien auswerten und Mail an den Verwalter senden unzip -p -C -a is0.zip is0.log | ./isacct -i is0 -q |\ elm -s "ISDN-Statistik is0 $DATE" isdnadm>&/dev/null unzip -p -C -a is1.zip is1.log | ./isacct -i is1 -q |\ elm -s "ISDN-Statistik is1 $DATE" isdnadm>&/dev/null
Dieser Text ist der Zeitschriften-Ausgabe 04/1995 von iX entnommen.
iOS, Android, Windows Phone 7 und HTML5 - das neue Sonderheft von heise Developer führt Einsteiger und Profis in die Programmierung mobiler Geräte ein.