说明:

发现keepalived会在凌晨自动进行主从切换,导致msc相关进程运行不稳定;

通过运行check_server_state.sh,及时终止/启动相关进程;

所有脚本使用supervisord进行管理;

使用smon管理supervisor

#!/bin/bash

msc_vip="10.108.144.6"
check_log="/var/log/sunlight/check_server_state.log"

check_vip=$(ip addr | grep $msc_vip | wc -l)

function print_date()
{
  echo `date "+%Y/%m/%d %H:%M:%S"`
}

while true
do
echo "-------------------------------------------------------------"
#master
if [ $check_vip -eq 1 ];then
  echo "[ info ] $(print_date) Server is in master state......"

  check_gslb=$(ps -ef | grep "gslb_server" | grep -v grep | wc -l)
  echo "[ info ] $(print_date) check_gslb number : $check_gslb"
  if [ $check_gslb -lt 1 ];then
    /usr/local/sunlight/cdn/gslb/bin/startup.sh
  fi

  check_gnm=$(ps -ef | grep "gnm_server" | grep -v grep | wc -l)
  echo "[ info ] $(print_date) check_gnm number : $check_gnm"
  if [ $check_gnm -lt 1 ];then
    /usr/local/sunlight/cdn/gnm/bin/startup.sh
  fi

  check_nm=$(ps -ef | grep -E "\bnm_server" | grep -v grep | wc -l)
  echo "[ info ] $(print_date) check_nm number : $check_nm"
  if [ $check_nm -lt 1 ];then
    /usr/local/sunlight/cdn/nm/bin/startup.sh
  fi

  check_vms=$(ps -ef | grep vms_server | grep -v grep | wc -l)
  echo "[ info ] $(print_date) check_vms number : $check_vms"
  if [ $check_vms -lt 1 ];then
    /usr/local/sunlight/cdn/vms/bin/startup.sh
  fi

fi

#slave
if [ $check_vip -ne 1 ];then
  echo "[ info ] $(print_date) Server is in slave state......"

  check_gslb=$(ps -ef | grep "gslb_server" | grep -v grep | wc -l)
  echo "[ info ] $(print_date) check_gslb number : $check_gslb"
  if [ $check_gslb -gt 0 ];then
    /usr/local/sunlight/cdn/gslb/bin/shutdown.sh
  fi

  check_gnm=$(ps -ef | grep "gnm_server" | grep -v grep | wc -l)
  echo "[ info ] $(print_date) check_gnm number : $check_gnm"
  if [ $check_gnm -gt 0 ];then
    /usr/local/sunlight/cdn/gnm/bin/shutdown.sh
  fi

  check_nm=$(ps -ef | grep -E "\bnm_server" | grep -v grep | wc -l)
  echo "[ info ] $(print_date) check_nm number : $check_nm"
  if [ $check_nm -gt 0 ];then
    /usr/local/sunlight/cdn/nm/bin/shutdown.sh
  fi

fi
sleep 60
done

MSC服务器-主从检测脚本-check_server_state.sh的更多相关文章

  1. 检查服务器主从状态的脚本-check_server_state.sh

    分别检查服务器在Master/Slave状态下,各项服务是否正常,否则报警: 原来使用keepalived每隔1分钟调用,由于执行结果对keepalived的weight参数有影响,所以移动到外部,使 ...

  2. python MySQL-Slave从服务器状态检测脚本

    #!/bin/bash mysql -e "show slave status\G" > mysql_status.txt array=($(egrep 'Slave_IO_ ...

  3. Tomcat重启脚本restart.sh停止脚本stop.sh

    Tomcat重启脚本restart.sh停止脚本stop.sh Tomcat本身提供了 startup.sh(启动)shutdown.sh(关闭)脚本,我们在部署中经常会出现死进程形象,无法杀掉进程需 ...

  4. Linux 服务器系统监控脚本 Shell【转】

    转自: Linux 服务器系统监控脚本 Shell - 今日头条(www.toutiao.com)http://www.toutiao.com/i6373134402163048961/ 本程序在Ce ...

  5. Redis + keepalived 高可用行配置检测脚本

    Redis 在生产配置中:除redis集群.哨兵模式之外:主从模式还是比较普遍的. 配置 redis 多主从:由 keepalived 做 VIP 地址漂移.可以实现redis的高可用性. keepa ...

  6. 脚本kafka-configs.sh用法解析

    引用博客来自李志涛:https://www.cnblogs.com/lizherui/p/12275193.html 前言介绍 网络上针对脚本kafka-configs.sh用法,也有一些各种文章,但 ...

  7. Tomcat启动脚本catalina.sh

    1 - 概述脚本catalina.sh用于启动和关闭tomcat服务器,是最关键的脚本另外的脚本startup.sh和shutdown.sh都是使用不同的参数调用了该脚本该脚本的使用方法如下(引自该脚 ...

  8. [记录]CentOS搭建SVN服务器(主从同步)

    CentOS搭建SVN服务器(主从同步)1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: #/ ...

  9. Odoo Linux服务器一键安装脚本使用指南

    Odoo安装脚本介绍 为了帮助更多Linux服务器维护人员快速部署Odoo,为此开源智造(OSCG)基于André Schenkels曾经开放的openerp-install-scripts所构建的基 ...

随机推荐

  1. 前端基础之CSS的引入+HTML标签选择器+CSS操作属性

    clear:left/ringt属性 CSS:语法形式上由选择器+以及一条或多条声明组成:选择器查找到指定的html标签后,使用css属性设置html标签的样式:                   ...

  2. MySQL设置白名单教程

    1 登录mysql mysql -h host -u username -p password 2 切换至mysql库 use mysql; 3 查看当前允许登录IP及用户 select Host,U ...

  3. 微信小程序FAQ

    1. 图片名注意大小写. 不然本地预览是可以看到的.上传后用手机就看不到了. 2. bindtap等事件传参 wxml <view id="tapTest" data-hi= ...

  4. 1-MAVEN 仓库

    本地资源库     MAVEN的本地资源库是用来存储所有项目的依赖关系(插件和其他文件,这个文件被MAVEN 下载到本地文件中.) 可以通过修改MAVEN安装目录下conf/setting.xml配置 ...

  5. 0-MAVEN SETTING

    localRepository : 表示本地库的保存位置,也就是maven主要的jar包保存位置,默认在${user.dir}/.m2/repository,如果需要另外设置,就换成其他的路径 Ser ...

  6. Vue + Element UI 实现权限管理系统(第三方图标库)

    使用第三方图标库 用过Elment的同鞋都知道,Element UI提供的字体图符少之又少,实在是不够用啊,幸好现在有不少丰富的第三方图标库可用,引入也不会很麻烦. Font Awesome Font ...

  7. 银联支付 Asp.Net 对接开发内容简介

    银联对接开发主要包含测试环境以及生产环境两部分. 其中程序开发部分测试以及生产是相同的. 不同的是,测试环境与生产环境请求支付的Url地址,以及分别使用的证书不同. 一.配置部分 1,测试环境证书获取 ...

  8. ubuntu compile openjdk87

    0. use oracle JDK,not OpenJDK 1. 遇到错误Error:./gamma: relocation error: /usr/lib/jvm/java-7-openjdk-am ...

  9. day02 运算符和编码

    今日所学 主要是运算符和编码的初认识, 1   还有比较运算 ==,!=,<>,>,<,>=,<=等 2  .  赋值运算 =,+=,-=等 还有今天的难点逻辑运算 ...

  10. QuickHit 项目

    package cn.javaoppday01; import java.util.Random; public class Game { public Player player; public G ...