|
Packit |
5f140c |
#!/bin/sh
|
|
Packit |
5f140c |
# @(#) $Id: bihourly.sh,v 1.2 2006/07/28 18:19:32 leres Exp $ (LBL)
|
|
Packit |
5f140c |
#
|
|
Packit |
5f140c |
# bihourly arpwatch job
|
|
Packit |
5f140c |
#
|
|
Packit |
5f140c |
PATH=${PATH}:/usr/local/sbin
|
|
Packit |
5f140c |
export PATH
|
|
Packit |
5f140c |
#
|
|
Packit |
5f140c |
cd /usr/operator/arpwatch
|
|
Packit |
5f140c |
#
|
|
Packit |
5f140c |
list="`cat list`"
|
|
Packit |
5f140c |
cname="`cat cname`"
|
|
Packit |
5f140c |
temp1=/tmp/bihourly.1.$$
|
|
Packit |
5f140c |
temp2=/tmp/bihourly.2.$$
|
|
Packit |
5f140c |
d=/tmp/errs
|
|
Packit |
5f140c |
|
|
Packit |
5f140c |
# imperfect hack
|
|
Packit |
5f140c |
l=/tmp/bihourly.lock
|
|
Packit |
5f140c |
if [ -f ${l} ]; then
|
|
Packit |
5f140c |
echo "skipping arpwatch bihourly job, lock file exists"
|
|
Packit |
5f140c |
exit
|
|
Packit |
5f140c |
fi
|
|
Packit |
5f140c |
|
|
Packit |
5f140c |
trap 'rm -f ${l}; exit 1' 1 2 3 15
|
|
Packit |
5f140c |
touch ${l}
|
|
Packit |
5f140c |
|
|
Packit |
5f140c |
alist=""
|
|
Packit |
5f140c |
for r in ${list}; do \
|
|
Packit |
5f140c |
./arpfetch ${r} ${cname} > ${r} 2> ${temp1}
|
|
Packit |
5f140c |
if [ -s ${temp1} ]; then
|
|
Packit |
5f140c |
echo "arpfetch ${r} errors:"
|
|
Packit |
5f140c |
xr=${d}/${r}.$$
|
|
Packit |
5f140c |
echo "(file ${r} saved in ${xr})"
|
|
Packit |
5f140c |
mkdir -p ${d}
|
|
Packit |
5f140c |
cp ${r} ${xr}
|
|
Packit |
5f140c |
sed -e 's/^/ /' ${temp1}
|
|
Packit |
5f140c |
continue
|
|
Packit |
5f140c |
fi
|
|
Packit |
5f140c |
alist="${alist} ${r}"
|
|
Packit |
5f140c |
done
|
|
Packit |
5f140c |
|
|
Packit |
5f140c |
arpsnmp -d ${alist} > ${temp1} 2>&1
|
|
Packit |
5f140c |
|
|
Packit |
5f140c |
sed -e '/arpsnmp: suppressed DECnet flip flop/d' ${temp1} > ${temp2}
|
|
Packit |
5f140c |
if [ -s ${temp2} ]; then
|
|
Packit |
5f140c |
mail -s "`hostname` arpwatch report" \
|
|
Packit |
5f140c |
arpwatch-reports@noname.lbl.gov < ${temp2}
|
|
Packit |
5f140c |
fi
|
|
Packit |
5f140c |
rm -f ${temp1} ${temp2}
|
|
Packit |
5f140c |
|
|
Packit |
5f140c |
d=/www/NETINFO/arpwatch
|
|
Packit |
5f140c |
|
|
Packit |
5f140c |
f=arp.dat
|
|
Packit |
5f140c |
cp ${f} ${d}
|
|
Packit |
5f140c |
|
|
Packit |
5f140c |
f=ethercodes.dat
|
|
Packit |
5f140c |
diff ethercodes.dat ${d} >>/dev/null 2>&1
|
|
Packit |
5f140c |
if [ $? -ne 0 ]; then
|
|
Packit |
5f140c |
echo Updating ${d}/${f}
|
|
Packit |
5f140c |
cp ${f} ${d}
|
|
Packit |
5f140c |
fi
|
|
Packit |
5f140c |
|
|
Packit |
5f140c |
rm ${l}
|
|
Packit |
5f140c |
|
|
Packit |
5f140c |
exit 0
|