守护elasticsearch进程的shell脚本
1、脚本内容如下:
#! /bin/bash
#by fuqiqnag
#2018-07-26
#9200是es监听的端口;
port=`netstat -an | grep 9200 | wc -l`
#上述代码表示如果9200起来了,就会显示一行,$port=1;如果es没有起来,就是9200没有被监听,就不会有显示,所以$port=0
#判断:如果$port不等于1,说明es服务没有起来,重启es服务
if [ $port -ne 1 ]; then
systemctl restart elasticsearch
fi
2、contab中设置定时执行脚本
* * * * * root sleep 30; /etc/elasticsearch/es-monitor.sh
(上述表示30秒执行一次脚本)