Hi,
etwas nachträglich noch eine etwas andere Lösung:
Du schreibst ein kleines Skript:
---------------schnipp----------------
isdnctrl dial ippp0
<eine kleine Warteroutine bis die Verbindung steht>
rm -f link_zu_diesem_skript
isdnctrl hangup ippp0
ln -s <dieses Skript> link_zu_diesem_skript
--------------schnapp------------------
In ip-down.local schreibst du nun nur noch den Aufruf des Symlinks
link_zu_diesem_skript rein.
Dadurch erreichst du folgendes:
Nachdem die Hup-timeout erreicht ist wird die Verbindung geschlossen und
dein Skript im obigen Skript aufgerufen. Vorher wird die Verbindung
erneut geöffnet. Der Symlink wird gelöscht, so dass nach dem Schliessen
der Verbindung mit 'isdnctrl hangup ippp0' nicht bei der erneuten
Ausführung von ip-down.local wieder eine Verbindung aufgebaut wird bei
derem Schliessen wieder ip-down.local ausgeführt und eine
Verbindung..... (Endlosschleife, die du beobachtet hast) Nachdem
ip-down.local ausgeführt wurde ohne, dass obiges Skript ausgeführt
wurde, ist die Verbindung geschlossen, die gewünschte IP auf dem
Web-Server und in ip-down.local der gültige Aufruf für den näschsten
Start des Skriptes.
Am Rande: als Warteroutine, bis die Verbindung geöffnet ist oder
ip-down.local zuende ausgeführt wurde, wird bei mir ein pid-file erzeugt
(in ip-up.local) und dieses mit folgender While-Schleife solange
abgefragt, bis es nicht mehr existiert oder endlich existiert:
while ! `test -e /var/lock/isdnctrl/online`; do
`echo $$ > /dev/null`;
done
In diesem Falle wird so lange gewartet bis das pid-file existiert.
Viel Erfolg mit dieser Lösung!
Jan Girlich