grep through dumps in /dev/shm/sw.mac.port
[dell-switch] / snmp-get-arp
1 #!/bin/bash -e
2
3 . ./snmp.conf # get COMMUNITY
4
5 log=/dev/shm/sw.mac.port
6 if [ -e $log.last ] ; then
7         mv -v $log.last $log.last.`ls -d $log.last* | wc -l`
8 fi
9 test -d $log && mv -v $log $log.last
10 mkdir $log
11
12 snmp_walk() {
13         ip=$1
14         snmpwalk -O0sUX -v2c -Cc -c $COMMUNITY $ip BRIDGE-MIB::dot1dTpFdbPort | tee $log/snmp.$ip
15         #snmpwalk -v 2c -c $COMMUNITY $ip 1.3.6.1.2.1.17.4.3.1 2>>/dev/shm/sw.errors | tee $log/snmp.$ip
16         #snmpwalk -v 2c -c $COMMUNITY $ip 1.3.6.1.2.1.17.4.3.1.2 2>>/dev/shm/sw.errors | sed 's/iso.3.6.1.2.1.17.4.3.1.2./ /g' | awk '{print $1" .g"$4}' | awk -v sw="$ip" -F '.' '{ printf "%02X:%02X:%02X:%02X:%02X:%02X,%s,%s\n", $1, $2, $3, $4, $5, $6, $7, sw }' | tee $log/$ip
17 }
18
19 if [ ! -z "$1" ] ; then
20         while [ ! -z "$1" ] ; do
21                 snmp_walk $1
22                 shift
23         done
24         exit 0
25 fi
26
27 #( ls -d $log.last/* | sed 's/^.*\///' ; ./ips ) | sort -u | while read ip
28 grep '^\[snmp;sw' /etc/munin/munin.conf | cut -d';' -f2 | sed 's/\]$//' | while read ip
29 do
30         echo "## $ip"
31         snmp_walk $ip
32 done