欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Shell腳本實現(xiàn)監(jiān)控MySQL主從同步

 更新時間:2015年01月06日 09:57:12   投稿:junjie  
這篇文章主要介紹了Shell腳本實現(xiàn)監(jiān)控MySQL主從同步,此腳本應(yīng)該能適應(yīng)各種各樣不同的內(nèi)外網(wǎng)環(huán)境,并同時監(jiān)控MySQL運行狀態(tài),需要的朋友可以參考下

代碼如下:

復(fù)制代碼 代碼如下:

#!/bin/bash
#check MySQL_Slave Status
#crontab time 00:10
MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $4}'`
MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`
STATUS=$(/usr/local/webserver/mysql/bin/mysql -u yuhongchun -pyuhongchun101 -S /tmp/mysql.sock -e "show slave status\G" | grep -i "running")
IO_env=`echo $STATUS | grep IO | awk  ' {print $2}'`
SQL_env=`echo $STATUS | grep SQL | awk  '{print $2}'`
DATA=`date +"%y-%m-%d %H:%M:%S"`
if [ "$MYSQLPORT" == "3306" ]
then
  echo "mysql is running"
else
  mail -s "warn!server: $MYSQLIP mysql is down" yuhongchun027@163.com
fi
if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]
then
  echo "Slave is running!"
else
  echo "####### $DATA #########">> /data/data/check_mysql_slave.log
  echo "Slave is not running!" >>    /data/data/check_mysql_slave.log
  echo "Slave is not running!" | mail -s "warn! $MYSQLIP MySQL Slave is not running" yuhongchun027@163.com
fi

建議每十分鐘運行一次

復(fù)制代碼 代碼如下:

*/10 * * * * root /bin/sh /root/mysql_slave.sh

記得在每臺MySQL從機上分配一個yuhongchun的用戶,權(quán)限大些也沒關(guān)系,只限定在本地運行,如下所示:

復(fù)制代碼 代碼如下:

grant all privileges on *.* to "yuhongchun"@"127.0.0.1" identified by "yuhongchun101";
grant all privileges on *.* to "yuhongchun"@"localhost" identified by "yuhongchun101";

腳本設(shè)計思路:

1、此腳本應(yīng)該能適應(yīng)各種各樣不同的內(nèi)外網(wǎng)環(huán)境,即IP不同的環(huán)境;
2、讓腳本也順便監(jiān)控下MySQL是否正常運行;
3、Slave機器的IO和SQL狀態(tài)都必須為YES,缺一不可,這里用到了多重條件判斷-a。

腳本產(chǎn)生的背景環(huán)境:

我有不少基于公網(wǎng)類型的網(wǎng)站(沒有硬件防火墻,直接置于IDC機房)做的都是MySQL主從架構(gòu),從機主要起備份數(shù)據(jù)庫和冷備份的作用,雖然從機宕機了問題不大,但也影響數(shù)據(jù)的備份工作;這樣的網(wǎng)站有數(shù)十個,如果一個一個手動的檢查,每天都要浪費不少時間,所以玩了下腳本控,設(shè)計了如上腳本。

腳本實踐:

此腳本我已用于了生產(chǎn)環(huán)境,大家可以放在我們的從MySQL機器上,用來監(jiān)控;另外建議有時也手動檢查下,有次發(fā)現(xiàn)rsync --delete 自動刪除了/data/data里面的數(shù)據(jù),即從數(shù)據(jù)庫的位置,腳本沒有報警。

后期應(yīng)用:

后期公司的MySQL數(shù)據(jù)庫準(zhǔn)備由一主一從架色升級成一主多從,讀寫分離的架構(gòu),LVS作從數(shù)據(jù)庫的負(fù)載均衡器,此腳本自動監(jiān)控從MySQL的replication狀態(tài),如果不能同步則自動關(guān)閉本機的MySQL服務(wù),免得影響整個網(wǎng)站的正常業(yè)務(wù)訪問。當(dāng)然了,到時腳本的運行周期肯定也需要更改,由10分鐘變成秒級的,這個可以通過while循環(huán)來實現(xiàn)。

相關(guān)文章

  • Linux中cp命令的使用詳解

    Linux中cp命令的使用詳解

    cp?命令是?Linux?中一個重要的命令,你可能經(jīng)常會用到它,所以本文主要來和大家講講cp命令的具體使用,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-08-08
  • 十三個寫好shell腳本的技巧分享

    十三個寫好shell腳本的技巧分享

    這篇文章主要給大家介紹了關(guān)于寫好shell腳本的13個技巧的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • 一波實用的Bash Shell整理

    一波實用的Bash Shell整理

    這篇文章主要介紹了一波實用的Bash Shell整理,適用于Ubuntu等Debian系的Linux系統(tǒng),需要的朋友可以參考下
    2015-06-06
  • Shell命令之?dāng)?shù)組表示語法學(xué)習(xí)

    Shell命令之?dāng)?shù)組表示語法學(xué)習(xí)

    這篇文章主要為大家介紹了Shell命令之?dāng)?shù)組表示語法學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • linux上搭建solr的操作方法(用tomcat部署)

    linux上搭建solr的操作方法(用tomcat部署)

    下面小編就為大家分享一篇linux上搭建solr的操作方法(用tomcat部署),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • touch shell腳本并修改為777權(quán)限的方法

    touch shell腳本并修改為777權(quán)限的方法

    這篇文章主要介紹了touch shell腳本并修改為777權(quán)限的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 淺談Shell腳本參數(shù)與交互及常見問題

    淺談Shell腳本參數(shù)與交互及常見問題

    本文主要介紹了Shell腳本參數(shù)與交互,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • shell 操作釘釘機器人實現(xiàn)告警提醒的方法

    shell 操作釘釘機器人實現(xiàn)告警提醒的方法

    這篇文章主要介紹了shell 操作釘釘機器人實現(xiàn)告警提醒的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Shell編程中的特殊變量之進程狀態(tài)變量介紹

    Shell編程中的特殊變量之進程狀態(tài)變量介紹

    這篇文章主要介紹了Shell編程中的特殊變量之進程狀態(tài)變量介紹,本文講解了$$、$!、$?、$@、$_這些特殊變量,需要的朋友可以參考下
    2014-12-12
  • Shell處理帶空格的文件名的方法

    Shell處理帶空格的文件名的方法

    這篇文章主要介紹了Shell處理帶空格的文件名的方法,文中總結(jié)了若干處理帶空格的文件名的技巧,需要的朋友可以參考下
    2014-06-06

最新評論