linux进程监控与自动重启实现 .

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

 

你可能感兴趣的:(linux进程监控与自动重启实现 .)