snmp程序常会自己停止,所以仿照写了以下脚本,以记录。
#! /bin/sh
proc_name="net-snmp-5.5" # 进程名
file_name="/jfdata01/snmp/shell/cron.log" # 日志文件
pid=0
proc_num() # 计算进程数
{
num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
return $num
}
proc_id() # 进程号
{
pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`
}
proc_num
number=$?
if [ $number -eq 0 ] # 判断进程是否存在
then
cd /jfdata01/snmp/net-snmp-5.5
./agent/snmpd # 重启进程的命令,请相应修改
proc_id # 获取新进程号
echo `snmpwalk -v2c -c public 135.32.24.161:10061 1.3.6.1.4.1.81000.2.103.2.2.8.1.1` >> $file_name
echo ${pid}, `date` >> $file_name # 将新进程号和重启时间记录
fi