亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 監(jiān)控mysql跟heartbeat的腳本 [打印本頁(yè)]

作者: gyl4802959    時(shí)間: 2009-04-24 16:10
標(biāo)題: 監(jiān)控mysql跟heartbeat的腳本
寫(xiě)得不好,大家拍磚

自己寫(xiě)了個(gè)shell去監(jiān)控mysql跟ha的狀態(tài)……

前景:
很多公司的mysql服務(wù)器(假設(shè)2臺(tái))之間都是用ha來(lái)做切換,可是ha只有在服務(wù)器down機(jī)跟ha 停掉的情況下才切換,而mysql down掉,服務(wù)器沒(méi)down掉的時(shí)候不去切換,所以我寫(xiě)了這個(gè)腳本

說(shuō)明:
msyql開(kāi)啟的是tcp 3306端口,ha開(kāi)啟的是udp 694端口

功能:
檢測(cè)mysql跟ha的狀態(tài)
1.當(dāng)mysql 正常,ha正常,打印報(bào)告
2.當(dāng)mysql正常,ha down掉,重啟ha,啟動(dòng)成功,打印報(bào)告;啟動(dòng)失敗發(fā)送郵件到管理員郵箱
3.當(dāng)mysql down掉,而ha正常時(shí),停掉ha,重啟mysql,并發(fā)送郵件給管理員,當(dāng)mysql重啟成功,再啟動(dòng)ha,并發(fā)送郵件給管理員報(bào)告啟動(dòng)成功,重啟不成功發(fā)送郵件報(bào)告重啟失敗
4.當(dāng)msyql和ha都down掉,重啟mysql跟ha,成功打印報(bào)告,失敗發(fā)送郵件給管理員報(bào)告mysql跟ha都down掉
5.sleep 10==》10秒鐘執(zhí)行一次

  1. #!/bin/sh
  2. cat << EOF
  3. +-----------------------------------------------------------------------------+
  4. |                      === Welcome to LinuxTone===                          |
  5. |---------------------[url]http://www.linuxtone.org[/url]-------------------------|
  6. +-------------------------------By:hamgua--------------------------------+
  7. EOF

  8. MYPORT=`netstat -na|grep "tcp"|grep "3306"|awk -F[:" "]+ '{print $5}'`
  9. HAPORT=`netstat -na|grep "udp"|grep "694"|awk -F[:" "]+ '{print $5}'`
  10. PING=`ping -c 5 [url]www.linuxtone.org[/url]|awk -F, '/packets/{print $3}'|cut -c 2-|awk '{print $1}'`
  11. DB1IP=`ifconfig eth0|awk '/inet/{print $2}'|cut -c 6-`
  12. #DB2IP is your next mysqlserver and haserver IP,According to it own IP to fill

  13. while [ "$PING" != "100\%" ]
  14. do
  15.   touch /var/log/mysql_ha.log
  16.   if [ "$MYPORT" == "3306"];then
  17.      if [ "$HAPORT" == "694" ];then
  18.         echo "$DB1IPmysql and ha is running......"
  19.      else
  20.          echo "$DB1IPmysql is running,but ha is down,start ha now"
  21.          /etc/rc.d/init.d/heartbeat start
  22.     if [ "$HAPORT" == "694"];then
  23.       echo "$DB1IPha start successful,mysql and ha all running......"
  24.     else
  25.       echo "$DB1IPha is down,let (DB2IP) to take over mysql,please start ha now!" > /var/log/mysql_ha.log
  26.       mail -s "mysql and ha warning!server: $DB1IP  ha is down" [email]hamgua@gmail.com[/email] < /var/log/mysql_ha.log
  27.         fi
  28.      fi
  29.   else
  30.      if [ "$HAPORT" == "694" ];then
  31.          echo "$DB1IP mysql is down,but ha is runing,now shutdown ha,let (DB2IP) to take over mysql,then restart mysql....." > /var/log/mysql_ha.log
  32.      mail -s "mysql and ha warning!server: $DB1IP  mysql is down" [email]hamgua@gmail.com[/email] < /var/log/mysql_ha.log
  33.          /etc/rc.d/init.d/heartbeat stop
  34.          /etc/rc.d/init.d/mysqld start
  35.         if [ "$MYPORT" == "3306"];then
  36.          /etc/rc.d/init.d/heartbeat start
  37.      echo "$DB1IP$mysql restart successful,now mysql and ha all running......"
  38.         fi
  39.      else
  40.          echo "$DB1IPmysql and ha all down,first restart msyql,when mysql is run,restart ha"
  41.          /etc/rc.d/init.d/mysqld start
  42.         if [ "$MYPORT" == "3306"];then
  43.              /etc/rc.d/init.d/heartbeat start
  44.           if [ "$HAPORT" == "694" ];then
  45.             echo "$DB1IPmysql and ha all running......"
  46.           else
  47.             echo "$DB1IPmysql is running,ha is down,please restart ha" > /var/log/mysql_ha.log
  48.             mail -s "mysql and ha warning!server: $DB1IP ha is down" [email]hamgua@gmail.com[/email] < /var/log/mysql_ha.log
  49.           fi
  50.     else
  51.          echo "$DB1IPmysql and ha all down,let (DB2IP) to take over mysql,please restart mysql" > /var/log/mysql_ha.log
  52.          mail -s "mysql and ha warning!server: $DB1IP  mysql and ha all down" [email]hamgua@gmail.com[/email] < /var/log/mysql_ha.log
  53.         fi
  54.      fi
  55.    fi
  56. sleep 10
  57. done
復(fù)制代碼

[ 本帖最后由 gyl4802959 于 2009-4-24 16:11 編輯 ]
作者: 我是DBA    時(shí)間: 2009-04-24 16:12
標(biāo)題: 回復(fù) #1 gyl4802959 的帖子
寫(xiě)得很好,很強(qiáng)大。
作者: gyl4802959    時(shí)間: 2009-04-24 16:16
標(biāo)題: 回復(fù) #2 我是DBA 的帖子
多謝抬舉,但我知道很繁瑣,剛學(xué)

作者: jelver    時(shí)間: 2009-04-24 18:03
不錯(cuò),呵呵,學(xué)習(xí)了
作者: 楓影誰(shuí)用了    時(shí)間: 2009-06-09 11:56
呵呵。用用ha crm方式。就不需要這個(gè)腳本了。
作者: 我是8戒    時(shí)間: 2009-06-09 13:06
標(biāo)題: 不錯(cuò),呵呵,學(xué)習(xí)了
不錯(cuò),呵呵,學(xué)習(xí)了
作者: shgxie    時(shí)間: 2010-09-27 14:56
值得信賴(lài)的東西
作者: xindi10631    時(shí)間: 2010-09-27 15:22
不錯(cuò) 就是還有些看不懂  正在努力中!
作者: expert1    時(shí)間: 2010-09-27 15:30
hehe
作者: BangBull    時(shí)間: 2010-09-27 16:27
回復(fù) 3# gyl4802959


    有個(gè)要說(shuō)的是, 某些時(shí)候 mysql  的端口也是開(kāi)著的,但服務(wù)是不可用的 ; 最好在腳本中加入 mysql 查詢(xún),有正確返回結(jié)果,這樣才算是服務(wù)可用的,
作者: expert1    時(shí)間: 2010-09-27 16:37
三輪哥正解,哈哈




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2