Folgendes kleine Script habe ich geschrieben:
---
#!/bin/bash
rm /home/ip.txt
touch /home/ip.txt
MYIP=`/sbin/ifconfig ppp0 | grep P-z-P | cut -d: -f2 | cut -d" " -f1`
echo "$MYIP" >> /home/ip.txt
#
#
exit 0
----
Wenn ich dieses Script nun laufen lasse (über /etc/ppp/ip-up.local), hat die Variable MYIP nie einen Inhalt und die IP lautet damit "" (also 0 Zeichen). Per Cron ausgeführt kommt es leider aufs Selbe hinaus. Manuell (in der Shell) hingegen funktioniert es tadellos.
Und...
----
/sbin/ifconfig ppp0 | grep P-z-P | cut -d: -f2 | cut -d" " -f1 >> /home/ip.txt
----
... funktioniert in der Shell wunderbar. Auch als Script (manuell ausgeführt) funzt es. Aber automatisch wieder nicht... *heul*
Selbst wenn ich diese Zeile einfach in die Crontab schreibe, führt er es zwar aus, aber schreibt ebenfalls wieder 0 Zeichen in die Datei.
Ich verstehe die Welt leider nicht mehr! :( Wäre genial, wenn mir jemand weiterhelfen könnte...
Gruss
Lenz
Linux 15.036 Themen, 107.107 Beiträge
Schreibe mal nach dem #!/bin/sh rein:
PATH=/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/bin:
Ich vermute, die PATH-Angabe wird unter ip-up oder ip-up.local nicht vollstaendig sein, genauso wie in der Crontab.
Klaus
Danke für den Tipp. Ich habe die Zeile eingefügt, aber das hat leider auch nichts verändert... :(
Gibt es noch andere Möglichkeiten?
Hi
>/sbin/ifconfig ppp0 | grep P-z-P | cut -d: -f2 | cut -d" " -f1
Warum eigentlich P-z-P? bei mir muss ich schreiben:
/sbin/ifconfig ppp0 | grep inet | cut -d: -f2 | cut -d" " -f1
Gebe doch mal die Ausgabe von ifconfig ppp0
Klaus
oki...
----
ppp0 Protokoll:Punkt-zu-Punkt Verbindung
inet Adresse:x.x.x.x P-z-P:x.x.x.x Maske:255.255.255.255
UP PUNKTZUPUNKT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:35926 errors:0 dropped:0 overruns:0 frame:0
TX packets:39613 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:3
RX bytes:11699640 (11.1 Mb) TX bytes:14449041 (13.7 Mb)
---
Welche Adresse willst du denn ueberhaupt haben?
Deine, also = inet Adresse
oder
die von der Gegenstelle = P-z-P
?
Wenn du die P-z-P haben willst, musst du das schreiben:
/sbin/ifconfig ppp0 | grep P-t-P | cut -d: -f3 | cut -d" " -f1
Also -f3
Ich wiess jetzt, wo der Fehler liegt. Deine Ausgabe ist in deutsch, wenn du das aber aus der ip-up oder crontab aufrufst, ist die Ausgabe in Englisch.
Deshalb musst du anstatt P-z-P einfach P-t-P schreiben. Versuch es mal.
Bye, Klaus
Du solltest in deiner /etc/profile folgenden Eintrag machen:
export LC_MESSAGES=en_US
Dann passiert dir so etwas auch nicht mehr, weil du dann alle Meldungen in Englisch bekommst. Ist auch besser fuers Fehlersuchen.
Bye, Klaus
ja, super! Vielen, vielen Dank! Daran lag's! Da soll erst mal jemand drauf kommen...
Ich wollte aber natürlich meine IP-Adresse und nicht die P-z-P bzw. P-t-P. War ein Fehler von mir... sorry. Habs nun so geändert:
----
/sbin/ifconfig ppp0 | grep addr | cut -d: -f2 | cut -d" " -f1
----
... und nun funzt es wunderbar!
Vielen, vielen Dank noch mal!