ホームページ >データベース >mysql チュートリアル >Linux での MySQL マスター/スレーブ同期監視シェル スクリプト

Linux での MySQL マスター/スレーブ同期監視シェル スクリプト

伊谢尔伦
伊谢尔伦オリジナル
2016-12-03 10:55:531630ブラウズ

手順:

オペレーティングシステム: CentOS

目的: MySQL マスターとスレーブのデータベースが同期しているかどうかを定期的に監視し、同期していない場合は、失敗した時間を記録し、マスターとスレーブの同期状態を復元するコマンドを実行します

1。スクリプトファイル

vi / home/crontab/check_mysql_slave.sh #編集して次のコードを追加します

#!/bin/sh

# check_mysql_slave status

# author www.osyunwei.com

ip=eth0 #Networkカード名

mysql_binfile=/usr/ local/mysql/bin/mysql

mysql_user=root #MySQLデータベースアカウント

mysql_pass=123456 #パスワード

mysql_sockfile=/tmp/mysql.sock

datetime=`date + 」 %Y-%m-%d/ %H:%M:%S"` #現在時刻を取得します

mysql_slave_logfile=/home/logs/check_mysql_slave.log #ログファイルのパスは事前に作成する必要があります

slave_ip= `ifconfig $ip|grep "inet addr" | awk -F[:" "]+ '{print $4}'`

status=$($mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "スレーブステータスを表示G" | grep -i "running" )

Slave_IO_Running=`echo $status | grep Slave_IO_Running | awk '{print $2}'`

Slave_SQL_Running=`echo $status | grep Slave_SQL_Running | awk '{print $2} '`

if [ "$Slave_IO_Running" = "Yes" -a "$Slave_SQL_Running" = "Yes" ]

then echo "スレーブは実行中です!"

else

echo " $datetime $slave_ip スレーブは実行されていません!" >> $mysql_slave_logfile

$ mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "SLAVE STOP;"

$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -え」グローバルSQL_SLAVE_SKIP_COUNTER = 1; " EXIT"

fi

:wq! #Save Exit

chmod +x /home/crontab/check_mysql_slave.sh #スクリプト実行権限を追加

2. タスクプランを追加し、/etc/crontab

vi /etc を変更します/crontab #最後の行に


*/10 を追加します * * * * root /home/crontab/check_mysql_slave.sh #10 分ごとに実行することを示します

:wq! #保存して終了します

3. crond を再起動します。設定が有効になります

/etc/rc.d/init.d /crond restart #yum install -y vixie-cron インストールスケジュールされたタスク、一部のシステムはプリインストールされていない可能性があります

chkconfig crond on #起動時に開始するように設定します

service crond start #Start

ログファイル /home/logs /check_mysql_slave.log に従って MySQL のマスターとスレーブの同期ステータスを確認します

この時点で、Linux での MySQL のマスターとスレーブの同期監視シェル スクリプトが完了します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。