Hallo Forum !
Folgende Idee (ist zwar nicht vollständig von mir, aber naja..bin ausserdem kein Meister vor dem Herrn in Shell-Programmierung ):
nach einem DSL- Verbindungsabbruch bzw. dem -wiederaufbau soll ein Skript mir die neue aktuelle IP-Adresse meines Rechners via SMS zuschicken. Das Skript steht also in /etc/ppp/ip-up.d/
#!/bin/sh
# Ermittlen der aktuellen IP-Adresse
ipadr=`ifconfig ppp0 | grep "inet Adr" | cut -f1 -d "P" | cut -f2 -d ":"`
# Log-Eintrag
echo `date` >> /var/log/ipadresse
echo ip-Adr.= $ipadr >> /var/log/ipadresse
echo --------------- >> /var/log/ipadresse
# SMS verschicken
yaps 0173xxxxxxx $ipadr
#
Wenn ich das Skript von Hand aufrufe, funktioniert alles wunderbar: Log-Eintrag, SMS-Versand.
Jetzt das Problem:
Wenn das Skript beim Verbindungsaufbau zusammen mit den anderen in ip-up.d/ gestartet wird, ist die Variable $ipadr leer. Das Skript an sich funktioniert, was der Eintrag im Log beweist, nur ist eben der Eintrag der IP leer.
Wo liegt mein Fehler ? Irgendwelche Rechte-Probleme ? Danke für Vorschläge
IP über SMS verschicken
ich tippe schlichtweg darauf, dass zu dem zeitpunkt, an dem dein script gestartet ist, das device noch gar nicht "oben" ist.
eine andere, nicht unwahrscheinliche moeglichkeit waere, das der befehl 'ifconfig' gar nicht in deinem pfad ist...
ersteres kann man verhindern indem man den vollen pfad von ifconfig angibt...
die andere moeglichkeit... wenn auch die unwahrscheinlichere, ist das einer der scripte bereits deine variable verwendet... und diese ueberschreibt oder per 'unset' loescht.
[-1]
eine andere, nicht unwahrscheinliche moeglichkeit waere, das der befehl 'ifconfig' gar nicht in deinem pfad ist...
ersteres kann man verhindern indem man den vollen pfad von ifconfig angibt...
die andere moeglichkeit... wenn auch die unwahrscheinlichere, ist das einer der scripte bereits deine variable verwendet... und diese ueberschreibt oder per 'unset' loescht.
[-1]
He who work root can fell trees and knowledge is no substitute for experience.
Das "/etc/ppp/ip-up" Skript führt mir Hilfe von run-parts alle Skripte in /etc/ppp/ip-up.d aus. Dabei übergibt es einige Parameter an die Skripte - genaueres findest Du in Kommentaren der Datei.
Die Varaible für die IP-Adresse ist "$PPP_LOCAL". Benutze einfach mal diese, anstatt die IP über ifconfig zu ermitteln.
Die Varaible für die IP-Adresse ist "$PPP_LOCAL". Benutze einfach mal diese, anstatt die IP über ifconfig zu ermitteln.
Es ist zwar nicht ganz dein Ansatz, aber ich benutze seit einiger dynamischen DNS und bin sehr zufrieden damit, schau mal unter http://www.dyndns.org
Daran hab ich auch schon gedacht, aber mir gehts eigentlich nur um ftp und ssh, und dafür reicht mir die IPco2 hat geschrieben:Es ist zwar nicht ganz dein Ansatz, aber ich benutze seit einiger dynamischen DNS und bin sehr zufrieden damit, schau mal unter http://www.dyndns.org