-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwhats-my-wireless-ip.sh
More file actions
executable file
·65 lines (61 loc) · 2.21 KB
/
Copy pathwhats-my-wireless-ip.sh
File metadata and controls
executable file
·65 lines (61 loc) · 2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash
H=$(/bin/hostname -s)
WIFIINT=$(./get-config.rb -I)
LOGDATE=$(date "+%m-%d-%Y_%H:%M:%S")
UPTIMECMD='/usr/bin/uptime'
NOTIFYFILE="/tmp/myip-${WIFIINT}.$$"
HISTORYFILE="ip-history-${WIFIINT}.txt"
RESTARTFILE="ip-restart-${WIFIINT}.txt"
IPFILE="/tmp/myip-${WIFIINT}"
WIFIGW=`/bin/grep 'option routers' /var/lib/dhcp/dhclient.${WIFIINT}.leases | /usr/bin/tail -1 | /usr/bin/awk '{ print $3 }' | /bin/sed -e 's/;//' | sort | uniq`.chomp
IPADDR=$(/sbin/ifconfig ${WIFIINT} | /bin/grep 'inet addr:' | /usr/bin/cut -d: -f2 | /usr/bin/awk '{ print $1 }')
MACADDR=$(/sbin/ifconfig ${WIFIINT} | /bin/grep 'HWaddr' | /usr/bin/awk '{ print $5 }')
ipRecipients=$(./get-config.rb -n)
function send_email() {
file=$1
/bin/cat ${file} | /usr/bin/mailx -s "Wireless IP Information: ${H}" ${ipRecipients}
}
if [[ -f ${IPFILE} ]]; then
OLDIP=$(/bin/cat ${IPFILE})
if [[ "$IPADDR" == "$OLDIP" ]]; then
echo "match old=$IPADDR new=$OLDIP"
else
# send notification
echo "Host: $H" > ${NOTIFYFILE}
echo "Wireless IP: $IPADDR" >> ${NOTIFYFILE}
echo "Wireless MAC: $MACADDR" >> ${NOTIFYFILE}
echo "Wireless GW: $WIFIGW" >> ${NOTIFYFILE}
echo >> ${NOTIFYFILE}
${UPTIMECMD} >> ${NOTIFYFILE}
echo >> ${NOTIFYFILE}
echo "IP History:" >> ${NOTIFYFILE}
/usr/bin/tail -10 ${HISTORYFILE} >> ${NOTIFYFILE}
echo >> ${NOTIFYFILE}
echo "Restart History:" >> ${NOTIFYFILE}
/usr/bin/tail -10 ${RESTARTFILE} >> ${NOTIFYFILE}
send_email "$NOTIFYFILE"
# write new ip
echo "${LOGDATE} $IPADDR" >> ${HISTORYFILE}
echo $IPADDR > ${IPFILE}
/bin/rm ${NOTIFYFILE}
fi
else
# send notification
echo "Host: $H" > ${NOTIFYFILE}
echo "Wireless IP: $IPADDR" >> ${NOTIFYFILE}
echo "Wireless MAC: $MACADDR" >> ${NOTIFYFILE}
echo "Wireless GW: $WIFIGW" >> ${NOTIFYFILE}
echo >> ${NOTIFYFILE}
${UPTIMECMD} >> ${NOTIFYFILE}
echo >> ${NOTIFYFILE}
echo "IP History:" >> ${NOTIFYFILE}
/usr/bin/tail -10 ${HISTORYFILE} >> ${NOTIFYFILE}
echo >> ${NOTIFYFILE}
echo "Restart History:" >> ${NOTIFYFILE}
/usr/bin/tail -10 ${RESTARTFILE} >> ${NOTIFYFILE}
send_email "$NOTIFYFILE"
# write new ip
echo "${LOGDATE} $IPADDR" >> ${HISTORYFILE}
echo $IPADDR > ${IPFILE}
/bin/rm ${NOTIFYFILE}
fi