Aktuelle IP per Mail bei IP-Wechsel

Zum Auslesen aus der ar7.cfg. Es dürfte theoretisch mit dem "neuen" AVM-Konfigurator in etwa so gehen:
Code:
echo ddns.accounts.domain | ar7cfgctl -s
Allerdings liefert diese Anfrage die AVM-Kodierte Zeile als Ergebnis. Mit dem allcfgconv kann man zwar die cfg-Dateien dekodieren, aber leider "reden" die beiden AVM-Tools allcfgconv und ar7cfgctl nicht miteinander.
Mein sed-basierter Konfigurator macht eigentlich etwas ähnliches, wie ar7cfgctl mit dem Unterschied, dass es bei mir Shell-basiert ist, daher langsam, dafür aber dokumentiert. Bei AVM ist es wieder eigenartig realisiert, dass man den Variablennamen der Binary per pipe reinjagen muss. Zudem ist es kaum dokumentiert und daher unbrauchbar, obwohl relativ schnell.
Ich würde ungerne das Rad neu erfinden. Deswegen bitte ich jemanden hier zu melden, der ar7cfgctl verstanden hat.

Edit zu deinem Posting oben: Logischerweise ja, PushService muss aktiviert sein. Man kann es allerdings bestimmt aus dem gleichen ar7.cfg irgendwo auslesen. Man könnte es noch weiter treiben, wenn man ar7.cfg sowieso beherrscht und die ganzen Zugangsdaten von dort "klauen". Dann müssen die Daten nur eingetragen werden. PushService an sich kann deaktiviert bleiben.
Warum ich es so will? Ich will da keine doppelten und dreifachen Eintragungen für die gleichen Sachen irgendwo auf der Box verstreut liegen haben. Passwörter sollte man schon verschlüsselt abspeichern. Und dies ist nicht so einfach und trivial mit den üblichen FREETZ-Mitteln für Konfigurationen.
-sh Steht bei dir, weil du direkt aus der Shell diesen Befehl ausführst. Nennst du deine Datei z.B. "push-ip.sh" und positionierst die oben zitierten Zeilen in der Datei, dann siehst du den Namen der Datei. Es muss aber nicht so sein. War für meine andere Geschichte lediglich eine Notlösung, damit ich die Reports von den AVM-Reports unterscheiden könnte.

MfG
 
Zuletzt bearbeitet:
-sh Steht bei dir, weil du direkt aus der Shell diesen Befehl ausführst. Nennst du deine Datei z.B. "push-ip.sh" und positionierst die oben zitierten Zeilen in der Datei, dann siehst du den Namen der Datei.
Hab's geschafft den Betreff anzupassen:
Code:
mailer -s "$(basename $0) : myFritz!Box IP-Status from: `/bin/date`" \
-i /var/tmp/myip.txt -r

Sieht dann in der eMail so aus:
Betreff: -sh : myFritz!Box IP-Status from: Mon Oct 19 23:17:07 CEST 2009

EDIT:
Habe festgestellt, dass man $(basename $0) nicht braucht um die Daten aus dem AVM Push Service zu verwenden. So funktioniert es auch (... zumindest aus der shell der Box):
Code:
mailer -s "myFritz!Box IP-Status from: `/bin/date`" -i /var/tmp/myip.txt -r
Der Betreff ist dann noch schöner:;)
Betreff: myFritz!Box IP-Status from: Tue Oct 20 00:15:16 CEST 2009
Mit den mailer-Opionen können die gespeicherten Daten (auch einzelne) aus dem AVM Push Service, überschrieben (nicht benutzt) werden.
 
Zuletzt bearbeitet:
1. $(basename $0) liefert dir den Namen von deinem Skript, wo deine Zeile steht. Führst du es aus Shell heraus, dann steht da auch "sh". Hab ich doch versucht oben zu erklären.
2. Zum Datum habe ich noch irgendwo ein sed-einzeiler, wenn du es wirklich brauchst. Dann wird das Datum im typisch europäischen Format dargestellt. Ich finde das Datum im Betreff aber relativ sinnlos. Die E-Mails haben doch ihr Absendedatum. Und es stimmt auch!
3. Mit dem Überschreiben einzelner Felder von Mailer hatte ich mir schon gedacht.
4. -i würde ich an deiner Stelle doch mit -d ersetzen, wie in einem Beispiel. Frag mich jetzt nicht warum, aber ich hatte es damals aus irgendwelchen anderen Gründen noch für meine Sachen genommen. Ich glaube mich dunkel zu erinnern, dass du im Falle mit "-i" einige Probleme mit Sonderzeichen/Leerzeilen (oder noch etwas ähnlichem) bekommen könntest.

MfG
 
Zu 1. Das $(basename $0) den Namen vom Script bzw. sh liefert habe ich schon so verstanden. Ich dachte nur $(basename $0) ist auch immer erforderlich. Ich experimentiere ja nur.;-)
Zu 2. OK
Zu 3. OK
Zu 4. Mit -i wird der Inhalt der .txt-Datei in die e-Mail geschrieben (kein Anhang). Finde ich besser, wenn man die e-Mails z. B. an ein Handy sendet. Denn für IP-Adressen und uptime, werden ja keine Sonderzeichen benötigt (nur meine Meinung). Wenn aber Sonderzeichen erforderlich, dann sollte man -d verwenden.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.