snmpwalk.sh
来自「开放源码实时操作系统源码.」· Shell 代码 · 共 52 行
SH
52 行
#!/bin/sh
if [ $# -lt 1 ]; then
echo "Usage: $0 [XFAIL] target [timeout]" > /dev/stderr
exit 1
fi
[ "xXFAIL" == "x$1" ] && { XFAIL="XFAIL"; shift; }
TARGET=$1
if [ "x" == "x$2" ]; then TIMEOUT=10; else TIMEOUT=$2; fi
if [ "x$XFAIL" != "xXFAIL" ]; then
# first try normal size packets
if ping -n -c 5 $TARGET > /dev/null ; then
echo "INFO:<$$: $TARGET is up>" > /dev/stderr
else
echo "FAIL:<$$: $TARGET is down>" > /dev/stderr; exit 1
fi
fi
export MIBS=all
declare -i COUNT=0
declare -i FAILS=0
# then the size we were asked to do, for the time requested
while [ $SECONDS -le $TIMEOUT ]; do
snmpwalk -OS $TARGET public
snmpstatus $TARGET public || { ((FAILS++)); [ "x$XFAIL" == "xXFAIL" ]; } || break
((COUNT++));
done
if [ "x$XFAIL" == "xXFAIL" ]; then
echo "PASS:<$$: snmpwalk XFAIL, $TIMEOUT seconds $COUNT snmpwalks $FAILS failed>" > /dev/stderr
exit 0
fi
if [ $FAILS -ne 0 ]; then
echo "FAIL:<$$: snmpwalk $TIMEOUT seconds $COUNT snmpwalks - status failed>" > /dev/stderr
exit 1
fi
echo "PASS:<$$: snmpwalk $TIMEOUT seconds $COUNT snmpwalks>" > /dev/stderr
# EOF
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?