免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1235 | 回复: 0

keepalived+mysql实现高可用的脚本 [复制链接]

论坛徽章:
0
发表于 2011-12-21 08:42 |显示全部楼层
  1. #monitor mysql service status and server load
  2. #!/bin/bash
  3. function Send_Email()
  4. {
  5. ADMIN="bruce.zuo@csoftintl.com"
  6. MESSAGE_FILE="/tmp/monitor.log"
  7.         echo "VIP has been changed at `date`,please check it!Message:$1" > $MESSAGE_FILE
  8.         /bin/mail -s "VIP has been changed" $ADMIN < $MESSAGE_FILE
  9. rm -r $MESSAGE_FILE
  10. }
  11.  
  12. while true; do
  13.     sleep 1
  14. CPU_NUMBER=`cat /proc/cpuinfo |grep processor |wc -l`
  15. MAX_LOAD=`echo $CPU_NUMBER*2|bc`
  16. KEEPALIVED_ALIVE=`ps aux |grep keepalived |grep -v "grep" |wc -l`
  17. # some optional
  18. # USER_NAME=$1
  19. # PASSWORD=$2
  20. # IS_SLAVE=$3
  21. if [ `service mysql status |awk '{print $2}'` = 'running' ]
  22. then
  23.    LOAD=`uptime`
  24.    LOAD=${LOAD##* }
  25. # if [ `expr $LOAD \< $CPU_LOAD` = 1 ] # another method,compare integer and decimal
  26.    if [ `echo "$LOAD > $MAX_LOAD" | bc` = 1 ]
  27.    then
  28. # echo "Average load is BUSY"
  29.       pkill keepalived # if load is greater than max load then kill keepalived,take VIP point to another server.
  30.       Send_Email "Mysql is alived,Average load is busy,so kill keepalived"
  31.    else
  32.       if [ `echo "$KEEPALIVED_ALIVE < 2 " | bc` = 1 ] # if keepalived is not running ,run it immediately.
  33.       then
  34.           keepalived -D
  35.           Send_Email "Mysql is alived,Average load is Free,Keepalived is not alived,so start keepalived"
  36.       fi
  37.    fi
  38. elif [ `echo "$KEEPALIVED_ALIVE < 2 " | bc` = 0 ]
  39.    then
  40.            pkill keepalived # if mysql service is not running ,then kill keepalived,take VIP point to another server.
  41.            Send_Email "Mysql service is not alived,Keepalived is alived,so kill keepalived."
  42. fi
  43. done
  44. exit 0
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP