snmp状态检测脚本

2011年10月04日 Linux服务器 评论 2 条 阅读 9,136 views 次

【问       题】:snmp服务无故自动停止,人工不能及时的发现,造成系统无法被正常的监控

【解决思路】:通过脚本实现服务异常的情况下自动开启服务,确保系统被正常的监控

【脚本内容】

#!/bin/bash

A=`service snmpd status |awk '{print $2}'`
B=`netstat -puln | grep ":161 "`
C=`service snmpd status |awk '{print $4}'|cut  -c9-14` 
if [ "$A = 停止" ];then
         /etc/init.d/snmpd start
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>" >> /var/log/check_snmpd.log
echo "snmpd start at [`date +"%Y-%m-%d %H:%M:%S"`]"   >> /var/log/check_snmpd.log
elif [ "$B" = "" ];then
         /etc/init.d/snmpd start
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>" >> /var/log/check_snmpd.log
echo "snmpd start at [`date +"%Y-%m-%d %H:%M:%S"`]"   >> /var/log/check_snmpd.log
elif [ "$C = unused" ];then
        /etc/init.d/snmpd start
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>" >> /var/log/check_snmpd.log
echo "snmpd start at [`date +"%Y-%m-%d %H:%M:%S"`]"   >> /var/log/check_snmpd.log
fi
exit 0

当然变量A,B和C会根据系统linux发行版本的不同而稍微有差异的,请大家根据实际的需要修改

转自:itnihao的QQ空间

2 条留言  访客:1 条  博主:1 条

  1. FreeBSD 中netstat需要改成 sockstat

    service snmpd status |awk ‘{print $2}’

    需要改成 service snmpd status |awk ‘{print $3}’

给我留言

Copyright © 羽飞博客 保留所有权利.   Ality主题 皖ICP备14013844号-1

用户登录