linux kafka进程挂了 自动重启

使用crontab,定时监控 kafka进程,发现挂了后重启。

shell脚本如下:

#!/bin/sh
source /etc/profile
proc_dir="/data/kafka"                                       # 程序目录
proc_name="kafka.Kafka"                             # 进程名
file_name="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=$?
echo $number
if [ $number -eq 0 ]                                    # 判断进程是否存在
then 
        $proc_dir/kafka_2.12-2.0.0/bin/kafka-server-start.sh -daemon $proc_dir/kafka_2.12-2.0.0/config/server.properties     # 重启进程的命令,请相应修改
        proc_id                                         # 获取新进程号
    echo "server down restart..." >> $proc_dir/$file_name 
        echo ${pid}, `date` >> $proc_dir/$file_name      # 将新进程号和重启时间记录
fi

crontab设置如下,每一分钟检测一次:

[root@localhost tools]# crontab -l
HELL=/bin/bash
*/1 * * * * sh /data/tools/kafkaRestart.sh

猜你喜欢

转载自www.cnblogs.com/gexiaoshan/p/9893348.html