说明:

发现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. VLC添加水印

    Name: LibVLC control APIDescription: VLC media player external control libraryVersion: 2.1.3 参照:http ...

  2. 使用AndroidStudio运行eclipse开发的app项目

    由于AS和eclipse开发的APP项目格式不同,所以直接用AS运行eclipse项目是行不通的. 下面给大家讲解一下如何在AS上成功运行eclipse项目 首先有这么个eclipse项目文件夹 然后 ...

  3. webpack+typescript

    1. npm install --save typescript 2. npm install --save ts-loader webpack.config.js module.exports = ...

  4. 【Oracle安装卸载】oracle卸载

    Oracle卸载比较麻烦,不能简单卸载就完成了,有时没有卸载完整,下次安装不能很好的安装: 当然Oracle卸载也没有那么难,只是步骤比较多.Oracle10g还是Oracle11g卸载步骤都是一样的 ...

  5. day041 前端HTML CSS基本选择器(未整理完毕)

    标签: <b> :加粗 <i> :倾斜体 <u>: 下划线 <s>: 删除线 <p>:段落 <h1> - <h6> ...

  6. Innodb引擎简介

    一.锁 二.什么情况出现阻塞 1.频繁更改的表,出现了慢查询 2.频繁访问的表,出现了备份等(表级锁) 三.查看运行情况 show engine innodb status; 四.关键参数 innod ...

  7. Linux U盘安装

    Ubuntu 15 U盘安装: 用UltraISO把iso文件写入到U盘中,选择hdd+模式. u盘启动后提示not a com32r image,先按tab键,然后输入live进入试用模式,然后再点 ...

  8. Cracking The Coding Interview 4.0_二叉树

    #include <iostream> #include <string> using namespace std; class tree { public: tree() { ...

  9. 2.12 C++ explicit关键字详解

    参考:http://www.cnblogs.com/ymy124/p/3632634.html 总结: 带参数的构造函数中有两种比较常见的构造函数:拷贝构造函数和转型构造函数. 转型构造函数只有一个参 ...

  10. DevExpress ASP.NET v18.2新功能详解(四)

    行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExpress ASP.NET Cont ...