Wenn Sie einen Router haben, auf dem DD-WRT läuft und die Statusseite verwendet wird, wenn Sie zum Router gehen, können Sie mit einem Skript ... die Statusseite, cat für die IP-Adresse aufrufen und in a schreiben Datei zum Vergleich, lassen Sie eine E-Mail senden, wenn die letzte wget IP-Adresse von dem in der Vergleichsdatei geändert wurde.
Ich bin dd-wrt auf einem Linksys Wrt54g Router und verwenden Sie dieses Skript: Es wgets die Router-Statusseite von 192.168.3.1, verwendet cat auf der Seite (index.html) und greps für die wan IP-Adresse , dann schreibt es in eine Datei (gotip.txt).
Es wird ein Vergleich zwischen der erfassten IP (gotip.txt) und der aktuellen Arbeits-IP (workingip.txt) durchgeführt. Wenn die IP-Adressen unterschiedlich sind, erhalte ich per E-Mail eine E-Mail mit der neuen IP und die neue Arbeits-IP wird in die Datei workingip.txt geschrieben.
Cron ausführen, um diese alle 5 Minuten oder so und ich habe die cron Ausgabe nach/dev zum Schweigen gebracht/null
#!/bin/bash
getip=$(wget http://192.168.3.1/)
cat index.html | grep "wan_ipaddr" > gotip.txt
gotip=$(cat gotip.txt)
compare=$(cat workingip.txt)
if [[ "$compare" != "$gotip" ]]
then
EMAIL="[email protected]"
EMAILMESSAGE="/home/pi/ipmessage.txt"
echo "ip address is now $gotip" >> $EMAILMESSAGE
/usr/sbin/sendmail -t "$EMAIL" < $EMAILMESSAGE
rm ipmessage.txt
cp gotip.txt workingip.txt
rm index.html
else
echo "done"
rm index.html
fi
Wie schnell möchten Sie wissen? Ist es lang genug, dass eine Umfrage möglich ist? (Nicht dass ich die Abfrage empfehlen würde, wenn eine korrekte Benachrichtigung verfügbar ist) –
http://StackOverflow.com/Questions/8542253/How-to-get-notified-for-ip-address-changes-automatisch – LtWorf