Wie Herman schon sagt es wurden dir ein Menge Ansätze gesagt. Diese sind auch nicht schwer zu realisieren. Bei dem Ansatz auf den Hermann und ich verweisen wird ein Funktion des AVM multid zurückgegriffen, dieser ruft nämlich ein bestimmtest Scipt auf, wenn sich der Onlinestatus ändert, und zwar mit den Parametern "online" oder "offline".
AVM hat dieses Verhalten leicht verändert mit der FW-Version XX.04.63-XXXXX und den nachfolgenden. Jetzt werden nicht nur ein Script, sondern auch alle Scripte in einem bestimmten Verzeichnis ausgeführt. Dieses wurde in Freetz mit
r2850 noch etwas erweitert. Das Verhalten ist im Detail
hier nazulesen.
Um auf den Punkt zu kommen, dadurch ist es jetzt sogar noch wesentlich einfacher dieses Feature zu nutzen.
Denn du kann ein entsprechendes Scipt im Ordner /tmp/flash/onlinechanged/ abspeichert und dann mit
permant machen. Damit musst du auch nix mehr aus der debug.cfg erzeugen.
Also im Detail.
Erstelle mit dem Editor deiner Wahl, ich nehme mal nano eine Datei, z.B. /tmp/flash/onlinechanged/onlinechanged.sh, also
Code:
nano /tmp/flash/onlinechanged/onlinechanged.sh
In diese Datei kommt dann einen Inhalt der ähnlich diesem aussehen könnte:
Code:
#!/bin/sh
if [ "$1" = "online" ] ; then
uptime > /var/tmp/uptime.txt
mailer -s "New IP for FritzBox: `/usr/bin/get_ip`" -f "[email protected]" -t "[email protected]" -m "smtp.domain.de" -a "USERNAME" -w "PASSWORD" -i /var/tmp/uptime.txt
rm -f /var/tmp/uptime.txt
fi
Dann muss die Datei noch ausführbar gemacht werden. mit
Code:
chmod +x /tmp/flash/onlinechanged/onlinechanged.sh
Dann das persitente Speichern:
Ob die Mail gesendet kannst du per Hand prüfen indem du das Script selber mal ausführst:
Code:
/tmp/flash/onlinechanged/onlinechanged.sh online