Hallo, hat jemand ein Script zur Hand as mir die aktuelle externe IP ermittelt und per Mail senden kann? Ein traceroute müsse es da doch schon tun? Oder? Konkert habe ich das Problem das ein System seine dyndns-Adresse nicht aktualisiert hat und ich damit nicht mehr an ins Netz komme. Wenn mir das script stündlich die letzte IP mailt sollte das als "backup" hoffentlich reichen. Gruß -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo auch.
hat jemand ein Script zur Hand as mir die aktuelle externe IP ermittelt und per Mail senden kann?
Nun ja, eigentlich ist meine Standard-Antwort: "Einfach mal googlen, Ergebnisse gibt es genug."
Ein traceroute müsse es da doch schon tun? Oder?
Konkert habe ich das Problem das ein System seine dyndns-Adresse nicht aktualisiert hat und ich damit nicht mehr an ins Netz komme. Wenn mir das script stündlich die letzte IP mailt sollte das als "backup" hoffentlich reichen.
Hinter einem Router mit einem dyndns-Service und traceroute? Wie aufwendig willst du das machen? Ich habe mal so ein kleines Skript vor einiger Zeit gebastelt. Einige Teile habe ich natürlich ergoogelt. :-) Man kann es auch etwas eleganter lösen, aber für deine Zwecke sollte es reichen. Da wo NAME@EMAILADRESSE.DE deine Emailadresse reinschreiben. Achtung! Einige Freemail-Dienste haben was gegen dynamische IP-Adressen. Also erst mal testen, ob es ankommt oder die Mail auf einem eigenen Rootserver zu schicken lassen. --- SCHNIPP --- #!/bin/bash echo -n "Meine IP lautet: " >myip.txt curl -s www.wieistmeineip.de | sed -n '/\([0-9]\{1,3\}\.\)\{3,\}/p' | sed 's/<[^>]*>//g' | sed 's/ //g' >>myip.txt mutt -s 'Meine IP' NAME@EMAILADRESSE.DE <myip.txt --- SCHNAPP --- Gruß Sebastian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Son, 16 Aug 2009, Sebastian Siebert schrieb:
#!/bin/bash echo -n "Meine IP lautet: " >myip.txt curl -s www.wieistmeineip.de | sed -n '/\([0-9]\{1,3\}\.\)\{3,\}/p' | sed 's/<[^>]*>//g' | sed 's/ //g' >>myip.txt mutt -s 'Meine IP' NAME@EMAILADRESSE.DE <myip.txt
*Weia* Die Seite is ja gruselig. Geht aber auch so mit nur einem sed und ohne Datei: { echo -n "Meine IP lautet: "; curl -s www.wieistmeineip.de | \ sed -n '/\([0-9]\{1,3\}\.\)\{3,\}/{s/.*>\([0-9.]\+\)<.*/\/p;}' } | mutt -s "IP" name@domain.tld Einfacher aber: curl -s http://checkip.dyndns.org | awk -F'[:<]' '{print $8;}' \ | mutt -s "IP" name@domain.tld HTH, -dnh -- 60: Virtual Reality AVI-Animation mit 16 Farben (Sebastian Kokemohr-Schmidt) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
David Haller schrieb:
*Weia* Die Seite is ja gruselig. Geht aber auch so mit nur einem sed und ohne Datei:
{ echo -n "Meine IP lautet: "; curl -s www.wieistmeineip.de | \ sed -n '/\([0-9]\{1,3\}\.\)\{3,\}/{s/.*>\([0-9.]\+\)<.*/\/p;}' } | mutt -s "IP" name@domain.tld
Einfacher aber:
curl -s http://checkip.dyndns.org | awk -F'[:<]' '{print $8;}' \ | mutt -s "IP" name@domain.tld
Woher wusste ich mal wieder, dass ich dich damit auf den Plan gerufen habe. :-P Genau, das meinte ich, dass es noch eleganter geht. Auf den Punkt getroffen. :-) Gruß Sebastian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Sonntag 16 August 2009 13:15:23 schrieb David Haller: Hallo David,
{ echo -n "Meine IP lautet: "; curl -s www.wieistmeineip.de | \ sed -n '/\([0-9]\{1,3\}\.\)\{3,\}/{s/.*>\([0-9.]\+\)<.*/\/p;}' } | mutt -s "IP" name@domain.tld
Einfacher aber:
curl -s http://checkip.dyndns.org | awk -F'[:<]' '{print $8;}' \ | mutt -s "IP" name@domain.tld
Recht simpel ist eigentlich diese Version: echo `curl -s http://checkip.dyndns.org | \ sed 's/<[^>]*>//g; s/.*: //g'` Warum wird die IP aber als Attachment geschickt, wenn ich mail nutze? (mail -a ist ja nicht gesetzt) echo `curl -s http://checkip.dyndns.org | \ sed 's/<[^>]*>//g; s/.*: //g'` | \ mail -s "Meine Betreffzeile" name@domain.tld Bitte um Erleuchtung. MfG Th. Moritz -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Son, 16 Aug 2009, Thomas Moritz schrieb:
Am Sonntag 16 August 2009 13:15:23 schrieb David Haller:
{ echo -n "Meine IP lautet: "; curl -s www.wieistmeineip.de | \ sed -n '/\([0-9]\{1,3\}\.\)\{3,\}/{s/.*>\([0-9.]\+\)<.*/\/p;}' } | mutt -s "IP" name@domain.tld
Einfacher aber:
curl -s http://checkip.dyndns.org | awk -F'[:<]' '{print $8;}' \ | mutt -s "IP" name@domain.tld
Recht simpel ist eigentlich diese Version:
echo `curl -s http://checkip.dyndns.org | \ sed 's/<[^>]*>//g; s/.*: //g'`
Oder so. Ich find awk eleganter ;)
Warum wird die IP aber als Attachment geschickt, wenn ich mail nutze? (mail -a ist ja nicht gesetzt)
echo `curl -s http://checkip.dyndns.org | \ sed 's/<[^>]*>//g; s/.*: //g'` | \
Erstmal *PATSCH* wg. dem "Useless use of subshell". Wohin schreibt sed? Was macht ``? Was macht echo?
mail -s "Meine Betreffzeile" name@domain.tld
Hier landet das im Body. $ rpm -qf `which mail` mailx-8.1.1-139 Es gibt _diverse_ 'mail' binaries die sich bei sowas unterscheiden können ... -dnh -- Das ist doch als wenn sich ein Haufen Alkoholiker, die versprochen haben, bis Ende 2006 mit dem Saufen definitiv aufzuhören, im Sommer 2007 in Heilgendamm treffen, bei nem Kasten Bier und 10 Flaschen Schnaps um darüber zu reden, wie's weitergehen kann. -- Volker Pispers, "Bis neulich" (2007) zum G8 Gipfel 2007 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Sonntag 16 August 2009 18:52:32 schrieb David Haller: Hallo David,
echo `curl -s http://checkip.dyndns.org | \ sed 's/<[^>]*>//g; s/.*: //g'` | \
Erstmal *PATSCH* wg. dem "Useless use of subshell".
Aua - ist angekommen!
Wohin schreibt sed? Was macht ``? Was macht echo?
mail -s "Meine Betreffzeile" name@domain.tld
Hier landet das im Body. $ rpm -qf `which mail` mailx-8.1.1-139
mailx-12.2-141.9 hier landet die Ausgabe im Attachment mit dem Filenamen "Meine Betreffzeile". Deine Version mit awk und mal -s funktioniert hingegen wie gewollt. Bug oder Denkfehler? - hmm. MfG Th. Moritz -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Son, 16 Aug 2009, Thomas Moritz schrieb:
Am Sonntag 16 August 2009 18:52:32 schrieb David Haller:
echo `curl -s http://checkip.dyndns.org | \ sed 's/<[^>]*>//g; s/.*: //g'` | \
Erstmal *PATSCH* wg. dem "Useless use of subshell".
Aua - ist angekommen!
:)
mail -s "Meine Betreffzeile" name@domain.tld
Hier landet das im Body. $ rpm -qf `which mail` mailx-8.1.1-139
mailx-12.2-141.9
hier landet die Ausgabe im Attachment mit dem Filenamen "Meine Betreffzeile".
Kannst du das mal an mich schicken? Bist du sicher, daß das ein Attachment ist?
Deine Version mit awk und mal -s funktioniert hingegen wie gewollt. Bug oder Denkfehler? - hmm.
Ich verwendete 'mutt', nicht 'mail' ... Und mutt ist in der Beziehung verläßlich und einfacher auch per Kommandozeile konfigurierbar ;) Für die FAQ-Mails hab ich z.B. /dev/null als Config-Datei gesetzt und alles relelvante per Kommandozeile ;) -dnh -- "Der Pinguin ist ein gutes Logo für Linux, denn was nicht fliegt, stürzt auch nicht ab." -- Francis Kuhlen (IBM-Vice President Sales) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Sonntag 16 August 2009 22:28:13 schrieb David Haller: Hallo David, curl -s http://checkip.dyndns.org | \ sed 's/<[^>]*>//g; s/.*: //g' | \ mail -s "Meine Betreffzeile" name@domain.tld
mailx-12.2-141.9
hier landet die Ausgabe im Attachment mit dem Filenamen "Meine Betreffzeile".
Kannst du das mal an mich schicken? Bist du sicher, daß das ein Attachment ist?
Ist vorhin raus als PM, Die IP ist nun neu :-)
Deine Version mit awk und mal -s funktioniert hingegen wie gewollt. Bug oder Denkfehler? - hmm.
Ich verwendete 'mutt', nicht 'mail' ... Und mutt ist in der Beziehung verläßlich und einfacher auch per Kommandozeile konfigurierbar ;)
Naja, ich habe seit Jahren mail bevorzugt, da es mir am einfachsten vorkam. echo "Das ist der Mailinhalt" | \ mail -s "Das ist die Betreffzeile" \ -r absender@domain.tld \ -c carbon@domain.tld \ empfaenger@domain.tld mit -a sind Attachments auch kein Problem. MfG Th. Moritz -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 17 Aug 2009, Thomas Moritz schrieb:
Am Sonntag 16 August 2009 22:28:13 schrieb David Haller: [..]
Kannst du das mal an mich schicken? Bist du sicher, daß das ein Attachment ist?
Ist vorhin raus als PM, Die IP ist nun neu :-)
Ok, ich hab da ne Vermutung. s.u.
Deine Version mit awk und mal -s funktioniert hingegen wie gewollt. Bug oder Denkfehler? - hmm.
Ich verwendete 'mutt', nicht 'mail' ... Und mutt ist in der Beziehung verläßlich und einfacher auch per Kommandozeile konfigurierbar ;)
Naja, ich habe seit Jahren mail bevorzugt, da es mir am einfachsten vorkam. [..] mit -a sind Attachments auch kein Problem.
$ echo "" | mail -s test -a t.txt dh mail: invalid option -- a Kannst dich nicht darauf verlassen, daß 'mail' das kann. Bei mutt jedoch schon. Also: mail kodiert die Mail unnötigerweise als Base64 und setzt den Content-Type auf application/octet-stream. Das sieht dann aus wie ein Anhang, ist aber keiner. Wenn du dir die Mail mit less anguckst[1] siehst du: ==== User-Agent: Heirloom mailx 12.2 01/07/07 MIME-Version: 1.0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 [..] Content-Length: 25 Lines: 1 MjE3Ljg4LjE2Mi4xODgNCg== ===== Kein Anhang weit und breit. Wie kodiert dein 'mail' denn die folgenden Eingaben? echo "foo" | mail ... echo "fooäüß" | mail ... Achso: bei mutt braucht man nicht mal eine Configdatei: mutt -F /dev/null -s "subject" \ -e "set variable=wert" \ -e "my_hdr ..." \ -i BODY \ -a ANHANG \ user@example.com Statt oder gleichzeitig mit '-i' liest mutt auch stdin. Als Variablen z.B. 'sendmail', 'charset', 'hostname', ... als Header z.B. From und Reply-To... Oder man schreibt halt ne Config oder nimmt einfach die Defaults (und kann immer noch ggfs. per Option überschreiben. V.a. mit Zeichensätzen / Kodierungen kommt mutt wohl besser klar. Ohne das '-F /dev/null' liest mutt mind. seine default-Config /etc/Muttrc. Testhalber würde ich einfach mal die defaults verwenden und gucken was bei rauskommt. curl -s ... | mutt -s "IP" user@example.com HTH, -dnh [1] oder "Quelltext" in kmail? -- "Weißt du eigentlich, daß ihr [die Menschen] in einem Universum das voller Wunder ist, es geschafft habt, die Langeweile zu erfinden. Das finde ich äußerst erstaunlich." -- Der Tod -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Montag 17 August 2009 19:22:51 schrieb David Haller: Hallo David,
mit -a sind Attachments auch kein Problem.
$ echo "" | mail -s test -a t.txt dh mail: invalid option -- a
echo "test" | mail -s "Test" -a test.txt rec@domain.tld Kein Problem!
Kannst dich nicht darauf verlassen, daß 'mail' das kann.
Bisher eigentlich immer!
Bei mutt jedoch schon. Also: mail kodiert die Mail unnötigerweise als Base64 und setzt den Content-Type auf application/octet-stream. Das sieht dann aus wie ein Anhang, ist aber keiner. Wenn du dir die Mail mit less anguckst[1] siehst du:
==== User-Agent: Heirloom mailx 12.2 01/07/07 MIME-Version: 1.0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 [..] Content-Length: 25 Lines: 1
MjE3Ljg4LjE2Mi4xODgNCg== =====
Kein Anhang weit und breit.
Das einzige Problem ist das abschliessende "\r" ! [1] Ich haette mir die Ausgabe gleich in hex anschauen sollen.
Wie kodiert dein 'mail' denn die folgenden Eingaben?
echo "foo" | mail ... echo "fooäüß" | mail ...
Alles OK! Kein Problem! [1] Teste mal bitte: x=`echo -e "<aaa>12345</aaa>"| sed 's/<[^>]*>//g'`; y="-"; \ echo "$x$y" $> 12345- und jetzt mit \r x=`echo -e "<aaa>12345</aaa>\r"| sed 's/<[^>]*>//g'`; y="-"; \ echo "$x$y" $> -2345 #Uuups Um auf die Anfrage des OP zurueckzukommen: curl -s http://checkip.dyndns.org | \ sed 's/<[^>]*>//g; s/.*: //g; s/\r//g' | \ mail -s "Betreffzeile" rec@domain.tld Ich hoffe, ich habe jetzt keinen C&P-Fehler mit reingeschubst. MfG Th. Moritz -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi David! On Mo, 17 Aug 2009, David Haller wrote:
mutt -F /dev/null -s "subject" \ -e "set variable=wert" \ -e "my_hdr ..." \ -i BODY \ -a ANHANG \ user@example.com
Da fehlt ein -- vor der Adresse. Das mag bei Dir jetzt noch funktionieren, kann aber bei einem neueren mutt kaputt gehen. Mit freundlichen Grüßen, Christian -- Men may not be seen publicly in any kind of strapless gown. [real standing law in Florida, United States of America] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (5)
-
Christian Brabandt
-
David Haller
-
Ralf Prengel
-
Sebastian Siebert
-
Thomas Moritz