Hallo Bernd, On Tue, 27 Nov 2001, Bernd Brodesser wrote: [Sorry, ich war ein paar Tage weg...]
* David Haller schrieb am 26.Nov.2001:
On Mon, 26 Nov 2001, Bernd Brodesser wrote:
Ein automatisches anpingen möchte ich auch vermeiden, da es dann auch nach Stunden noch anpingt, fals ich mal vergessen sollte, die Sitzung von Hand zu beenden. Schön wäre irgendetwas, was mir bescheid sagt, bevor es die Verbindung trennt.
Schreib dir doch ein shell-script, das einen eigenen Timer laeufen laesst, mit einem Timeout, das dir genehm ist... Ein paar Ideen, spontan und ohne Tests runtergeschrieben ;)
Nicht ganz. Bei Deinem Skript werde ich alle 15 min gefragt, ob ich die Sitzung beenden möchte. Ich dachte daran, daß die Meldung nur kommt, wenn keine Aktivitäten über die Leitung gehen. Wenn ich z.B Downloade sollte da nichts kommen.
Ach ja... Wie gesagt, war nur so ne Anregung... Dazu kann man ja die Ausgabe von ifconfig (RX packets:nnnnn) auswerten (oder /proc/net/dev)... Die eigenen Pings verursachen ja bei -c1 genau jew. ein Paket Traffic... Schnellschuss zum Dranweiterbasteln, Take 2: ==== UNGETESTET! UNGETESTET! UNGETESTET! UNGETESTET! ==== #! /bin/bash trap "exit 0" 1 2 15 IFACE="ppp0" TIMEOUT=10 #"$[15*60]" ## 15 min WAIT=2 #90 ## 10 s vor disconnect sollte passen... PTP="`/sbin/ifconfig $IFACE | sed -n '/P-t-P/s/.*P-t-P:\([0-9.]*\).*/\1/p'`" reinit() { START=`date +%s` pings=0 STATS=`/sbin/ifconfig $IFACE` STARTRX=`echo $STATS | sed -n 's/.*RX packets:\([0-9]*\).*/\1/p'` STARTTX=`echo $STATS | sed -n 's/.*TX packets:\([0-9]*\).*/\1/p'` } reinit while true; do if test $[`date +%s` - START] -le $TIMEOUT; then ping -c1 $PTP pings=$[pings+1] sleep $WAIT else STATS=`/sbin/ifconfig $IFACE` RX=`echo $STATS | sed -n 's/.*RX packets:\([0-9]*\).*/\1/p'` TX=`echo $STATS | sed -n 's/.*TX packets:\([0-9]*\).*/\1/p'` if test $[ TX + pings - STARTTX ] -ge 3 \ || test $[ RX + pings - STARTRX ] -ge 3 then ## es gab traffic ausser den pings reinit else ans="y" echo -n "Disconnect? [Y|n] " read ans if test "x$ans" != "xn"; then exit 0 else reinit fi fi fi done ==== UNGETESTET! UNGETESTET! UNGETESTET! UNGETESTET! ==== -dnh -- "But you should never let rules overrule common sense - if you do, you end up doing stupid things" -- Linus Torvalds