Centos 通过计划任务进程守护Elasticsearch

最近做了个MAGENTO2的网站Elasticsearch总是偶尔莫名挂掉导致网站不能正常运行。使用了宝塔的 进程守护管理器 发现真的很难用各种BUG而且无法启动,再三尝试未果无心恋战决定放弃,使用Bash计划任务来监控Elasticsearch进程。

首先我们要找到Elasticsearch的进程名字,执行命令:top

打开宝塔计划任务新建计划任务:

脚本内容:

ERR_LOGFILE="/www/wwwlogs/es.log"
#获取当前时间 注意 这个符号可以赋值 ``
CUR_TIME=`date +'%Y-%m-%d %H-%M-%S'`

pgrep -x java &> /dev/null
if [ $? -ne 0 ];then
        bash /www/server/panel/script/rememory.sh
        systemctl start elasticsearch.service
        #-f 判断文件存在
        if [ -f $ERR_LOGFILE ]
                then
                        // >> 追加写入   >直接写入 覆盖
                        echo "Es异常执行重启-- $CUR_TIME" >> /www/wwwlogs/es.log;
                else
                        echo -e "Es异常执行重启-- $CUR_TIME\n" > /www/wwwlogs/es.log;
        fi
else
        if [ -f $ERR_LOGFILE ]
                then
                        // >> 追加写入   >直接写入 覆盖
                        echo "Es正常运行-- $CUR_TIME" >> /www/wwwlogs/es.log;
                else
                        echo -e "Es正常运行-- $CUR_TIME\n" > /www/wwwlogs/es.log;
        fi
fi

 保存;

代码大逻辑是:在wwwlog下写入日志:

当进程中找不到java也就是ES的进程则运行宝塔清理内存的脚本,然后再执行ES启动命令;

测试:

执行命令关掉ES:

systemctl stop elasticsearch.service

 然后点击计划任务的立即执行:

 再执行命令,查看ES当前状态:

systemctl status elasticsearch.service

 如果结果是acticating则表示启动成功

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值