Im Webinterface von OpenWrt kann man bei den Interfaces beobachten, wie sich der Status der Internetverbindung ändert. Wie das im Luci gemacht wird, habe ich nicht herausgefunden. Dafür aber hier zwei Möglichkeiten:
- WAN-Überwachung mit ping
#!/bin/sh # pruefe die Internetverbindung while [[ $tries -lt 5 ]] do if /bin/ping -c 1 8.8.8.8 >/dev/null then #mach irgendwas echo "Internet ok" exit 0 fi tries=$((tries+1)) done # Falls ping nicht funktioniert hat, wird wohl die Internetverbindung weg sein # Dann mach was anderes z.B. /etc/init.d/network restart
- WAN-Überwachung mit ifstatus
root@router:/# ifstatus wan { "up": true, "pending": false, "available": true, "autostart": true, "uptime": 475, "l3_device": "pppoe-wan", "proto": "pppoe", "device": "eth0.2", "updated": [ "addresses", "routes" ], . . . und noch einiges mehr
Interessant ist die Zeile mit ‘”up”: true,’. Darauf kann man nun grep loslassen und bekommt:
ifstatus wan |grep '"up"'| grep -o true true
Falls das Ergebnis nicht ‘true’ heißt, ist die Internetverbindung unterbrochen.
In einem Script könnte das Ganze so aussehen:
#!/bin/sh # /sbin/wan_ifstatus.sh # # ueberwacht die Internetverbindung if [ $status == "true" ]; then echo "Internet ok" exit 0 fi # Wenn es ok ist, bricht das Skript mit exit 0 ab. # # Sonst kann hier noch was anderes stehen echo "Das Internet ist kaputt!" exit 0
Schreib als Erster einen Kommentar