Hallo, On Sat, 23 Nov 2002, Alfred Poschmann wrote:
Mein Ziel: Ich möchte eine (geheime) MSN anrufen, die meinen Server zur Internet-Einwahl veranlasst und er seine dynamische IP auf meinen externen Webserver schreibt. Zunächst möchte ich nur Schritt 2 lösen, also Hochstellen der aktuellen IP-Adresse.
Das Listenarchiv spuckt bei der Suche nach "ip upload" zwei fertige Perl-Scripte von Jan Kirchhoff und David Haller aus: http://lists.suse.com/archives/suse-linux/2001-Apr/4535.html und http://lists.suse.com/archives/suse-linux/2001-Apr/4713.html.
Letzteres erscheint mir eleganter, beide aber funktionieren bei mir nur unzureichend. Rufe ich sie standalone von der Shell aus auf, klappt alles. Rufe ich sie aus /etc/ppp/ip-up.local aus, klappt es nicht: je nach Script ist die IP-Adresse laut erfolgreich hochgeladener HTML-Datei 0.0.0.0 oder schlicht nichts.
[Anmerkung: ich hab das script nie (mangels Bedarf) selbst eingesetzt ;)]
Jetzt meine Frage: Wie kann ich die Ausgaben eines Programmes umleiten, wenn an "höherer" Stelle (in einem aufrufendem Script) die Ausgabe bereits in den Logger geleitet wird?
man -P 'less +"/ exec "' bash Beispiele gibt's in jedem ./configure-script ;) exec 5>/tmp/foo.out exec 6>/tmp/foo.err foo 1>&5 2>&6
echo `/sbin/ifconfig ippp0 |/bin/grep "inet Adresse"` # Ausgabe verschwindet im Orkus, sprich ist 0 Byte groß. # Ahso, das da oben ist ein Backtick, nur so zum Test.
/sbin/ifconfig ippp0 |/bin/grep "inet Adresse" > /tmp/ip.tmp # /tmp/ip.tmp ist 0 Byte groß.
/etc/ppp/ipupload # Das hier ist derzeit das perl-script von David N. Haller. # Die Umleitung von stdout erzeugt auch darin nur eine # 0 Byte große temp-Datei. --- ip-ip.local ende ---
Hm. Wenn ich mir mein script anschau, muesste alles ausser den "status/debug-Meldungen" ("creating $html_file" usw.) eigentlich in der korrekten Datei landen... Hast du schon damit getestet, dass die zu aktualisierende html-Seite irgendeien lokale Datei ist? ($remote_file = ...). Auf stdout gibt das script auch nur diverse Status-Infos aus, die sollten also wohl theoretisch im syslog landen, wenn stdout beim logger landet... Spontan faellt mir nur ein, dass das 'ifconfig' nicht klappt... das script sollte, wenn das einlesen der aktuelle IP klappt eigentlich funktionieren... Hm. Kannst du dich mit ausfuehrlichen Details mal per PM melden? -dnh -- The correct plural of virus is "vi". Throw enough of the little buggers together and they neutralize each other and you get a usable text editor. -- Anthony de Boer