1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| #!/bin/bash
source /etc/profile
PROC_DIR="/opt/kafka_2.13-2.8.0" PROC_NAME="kafka.Kafka" LOG_FILE="$PROC_DIR/cron.log" JMX_PORT="9988" CONFIG_FILE="$PROC_DIR/config/server.properties"
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 echo "[$(date +'%Y-%m-%d %H:%M:%S')] Kafka进程不存在,尝试重启..." >> $LOG_FILE
JMX_PORT=$JMX_PORT $PROC_DIR/bin/kafka-server-start.sh -daemon $CONFIG_FILE
proc_id echo "[$(date +'%Y-%m-%d %H:%M:%S')] Kafka已重启,新PID: $pid" >> $LOG_FILE
netstat -tunlp | grep $JMX_PORT >> $LOG_FILE else echo "[$(date +'%Y-%m-%d %H:%M:%S')] Kafka运行正常,PID: $(ps -ef | grep $PROC_NAME | grep -v grep | awk '{print $2}')" >> $LOG_FILE fi
exit 0
|