- TC4400 ueber WebUI automatisiert beobachten Beitrag #1
sparkie
- Beiträge
- 821
- Punkte Reaktionen
- 54
um die 'Uncorrectable Codewords' und andere wichtige Modem-Parameter per cronjob zu beobachten habe ich ein kleines Script geschrieben. EInfach mit z.B.
per
einhaengen. Falls nun eine Aenderung der ausgelesenen Modemdaten (z.B. Down/Up Frequenzen, 'Uncorrectable Codewords', IP-WAN Adresse etc.) entdeckt wird ergeht eine Email.
Als Seiteneffekt wird zudem in '/tmp/scan_tc4400_raw' bei jedem Aufruf eine Uebersicht der wichtigeren Modemdaten in plain ASCII abgelegt.
Script '~/bin/scan_tc4400':
Code:
<i>
</i>0-59/5 * * * * ~/bin/scan_tc4400 Code:
<i>
</i>crontab -e Als Seiteneffekt wird zudem in '/tmp/scan_tc4400_raw' bei jedem Aufruf eine Uebersicht der wichtigeren Modemdaten in plain ASCII abgelegt.
Script '~/bin/scan_tc4400':
Code:
<i>
</i>#/bin/sh
CABLE_MODEM=192.168.100.1
scan()
{
wget -q --http-user=admin --http-password='bEn2o#US9s' $1 -O - |
awk '{ if (match($0, "<script")) { ++IGNORE } else if (IGNORE) { if (match($0, "/script?")) { IGNORE = 0 } } else { print }
}' |
lynx -nolist -width 300 -dump -stdin
}
for i in \
http://$CABLE_MODEM/info.html \
http://$CABLE_MODEM/arpview.cmd \
http://$CABLE_MODEM/cmswinfo.html \
http://$CABLE_MODEM/cmconnectionstatus.html
do
echo
echo ------------------ [ $i ] ------------------
echo
scan $i
done > /tmp/scan_tc4400_raw
awk '{ # patch fields to ignore if ($3 == "Locked" && match($11, "^[0-9.]+$")) $11 = "c_1" # up/downstream if ($3 == "Locked" && match($13, "^[0-9.]+$")) $13 = "c_2" # downstream if ($3 == "Locked" && match($16, "^[0-9]+$")) $16 = "c_3" # downstream if ($3 == "Locked" && match($17, "^[0-9]+$")) $17 = "c_4" # downstream if (match($0, "Current System Time:")) $0 = "c_5" if (match($0, "IPv4=.*D:.*H:.*M:.*S:")) $0 = "c_6" if (match($0, "REFRESH.*file://.*html")) $0 = "c_7" if (match($0, "Uptime: ")) $0 = "c_8" if (match($0, "Systime: ")) $0 = "c_9" print
'} < /tmp/scan_tc4400_raw > /tmp/scan_tc4400_new
[ -f /tmp/scan_tc4400_old ] && diff /tmp/scan_tc4400_old /tmp/scan_tc4400_new
mv /tmp/scan_tc4400_new /tmp/scan_tc4400_old