E-Mail bei jedem DSL-Reconnect senden - Update 2011
Aus gegebenem Anlaß mal wieder ein Update, diesmal am Ende des Threads, um das in die Jahre gekommene
Original zu erhalten: In den letzten Jahren hat sich am Handling von
Onlinechanged geändert, daß in aktuellen Firmwares nicht mehr nach einem einzelnen Skript Namens
/var/tmp/onlinechanged gesucht wird, sondern nach einem gleichnamigen Verzeichnis, welches wiederum beliebig viele Shellskripten zur Abarbeitung enthalten kann. Auch das Neustarten des
Multid ist nicht mehr notwendig. Um die externe IP zu ermitteln, braucht man auch nicht mehr auf einen Web-Dienst zurückzugreifen, man kann das der Box direkt auf verschiedenen Wegen entlocken. Das hier schreibt man also in
/var/flash/debug.cfg (wie man es dort hinein bekommt, ist hier nicht Thema):
Code:
OC_DIR=/var/tmp/onlinechanged
[ -f $OC_DIR ] && rm -f $OC_DIR
mkdir -p $OC_DIR
cat > $OC_DIR/new_ip_email << 'EOF'
#!/bin/sh
if [ "$1" = "online" ] ; then
ip=$(/sbin/showdsldstat | sed -nr 's/0: ip ([0-9.]+).*/\1/p')
uptime > /var/tmp/uptime.txt
echo >> /var/tmp/uptime.txt
free >> /var/tmp/uptime.txt
mailer \
-s "New IP: $ip" \
-f "FritzBox <[email protected]>" \
-t "[email protected], [email protected]" \
-m "mein.mail.server" \
-a "mail_benutzer" \
-w "mail_passwort" \
-i /var/tmp/uptime.txt
rm -f /var/tmp/uptime.txt
fi
EOF
chmod +x $OC_DIR/new_ip_email
Ich zeige hier außerdem, wie man einen Dateianhang per
Mailer versendet und packe gleich mal zwei Info-Happen hinein, nämlich die
Uptime der Box (also die Zeit seit dem letzten Reboot) sowie die
Free-Speicheranzeige. Als kleines Detail sieht man noch, daß die Mail auch an mehrere Empfänger gehen kann.