Gestern hatte ich das Problem, das mein Knoten nicht mehr in der Map und im Graphen auftauchte. Auch Surfen ging nicht mehr. Kann passieren, muss aber nicht. Was sehr schade ist, das es keinerlei Benachrichtigungs-Optionen gibt. Das erste Script war schnell geschrieben, wenn man weiß auf was man zum Testen zurück greifen kann. Allerdings bestand die Ausgabe nur aus 5x beep :)

Ich wollte aber eine Email bekommen. Weil wenn Unterwegs, ist das eben besser wenn man am Tab Informiert wird. Leichter gesagt als getan. Mit reinen Bordmitteln habe ich das so nicht hinbekommen. Mit Thunderbird kann man zwar Emails erstellen per Script, aber nicht senden. Also habe ich mir -widerwillig- das Paket „ssmtp“ installiert und in den Einstellungen unter /etc/ssmtp/ssmtp.conf¹ meinen gmail-Account eingerichtet. Etwas hin und her getestet und schon trudelten die ersten Mails in meinen GMX-Postfach (Weil IMAP…) ein. Zum Testen habe ich einfach meine Node-ID auf eine nicht Existente gesetzt. Ist einfacher gewesen als den Router tatsächlich zu Deaktivieren :P

#!/bin/sh

#Aktuelle zeit als Variable
zeit=$(date +"%H:%M:%S")

#Empfaenger Email
adminmail=chibu701@gmx.de

#IP des FF-Routers
ip=10.0.0.159

#Node-ID
node=10feedcdc1f1

curl -s http://map.freifunk-ruhrgebiet.de/alfred/alfred_merged.json | grep -q $node

if [ $? -eq 0 ] ; then
        echo "$zeit - Yay, Node ist online!"
        else
# PINGEN
    ping -c 1 $ip > /dev/null 2>&1
        if [ $? == 0 ]
             then
            stat="OK"
             else
            stat="nicht OK"
        fi;

# NMAP SSH
    nmap $ip -p22|grep open >/dev/null
        if [ $? == 0 ]
             then
            ssh="erreichbar"
             else
            ssh="nicht erreichbar!"
        fi;

# Test-Ausgaben
 #      echo " Node ist Offline "
 #      echo " Ping auf $ip $stat "
 #      echo " Router ist per SSH $ssh"
 #      beep -f 2000 -r 5 -l 100

# Und ab geht die Post :)
mail -s "Achtung, $node ist Offline" $adminmail <

Die Email sieht dann so aus:
node_off_mit_zeit

Das ganze ist noch sehr frühes Beta - also Fertig :P

Wenn man sich nen Privaten Schlüssel für SSH eingerichtet hat, kann man den Router auch per SSH automatisch neustarten. Aber dafür müsste man sich zu 100% auf die Map verlassen!
Dazu einfach nach dem Email-EOF ein:
ssh root@$ip "reboot -f"
Aber wie gesagt, das ist mit Vorsicht zu genießen. Wenn das Script per Cronjob zB alle 5 Minuten aufgerufen wird, kann es passieren, das der Router nie wieder online geht bis das Script beendet wird: Denn es dauert seine zeit, bis der Knoten in der liste auftaucht :)

Da ich eh meine Fritzbox neu flashen will, werde ich mal schauen, ob ich das ganze nicht auf ihr laufen lassen kann. Das Paket ssmtp scheint es für Freetz zu geben.

Eine weitere Idee war es, meine Directbox-Adresse als Empfänger einzutragen um dann per SMS benachrichtigt zu werden bzw. direkt via Directbox an mein Handy eine SMS zu senden (per SMTP). Aber das scheint so nicht zu gehen. Da werde ich aber dran bleiben :)

¹= /etc/ssmtp/ssmtp.conf

root=postmaster
root=*********@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=*********
AuthPass=*************
FromLineOverride=YES
UseTLS=YES

Flattr this!