shell實戰之:mysql index檔案檢查機制

來源:互聯網
上載者:User

shell實戰之:mysql index檔案檢查機制
 01#!/bin/sh02def_check_index()03{04#code by scpman05#http://www.scpman.com06#mail:freeddser@gmail.com07#需求:08#09#   1.通過show master logs; 列出binlog檔案序列如果順序不對,或記錄重複發警示 發郵件警示。10#   2、查看mysql目錄下的index檔案,如果順序不對,或記錄重複發警示11#  12#實現13#發送警示函數14def_send_mail()15{16msgip="10.0.7.44" #syslog伺服器17ser_IP=`cat /etc/rc.conf | grep -E "ifconfig_[em1|bce1]" | awk '{print "IP:"$2}'| sed -n 1p ` #原生ip18#echo $1 函數接收的第一個值19if [ -n "$1" ] && [ `echo "$1"|grep -c 'chongfu'` -gt 0 ] #判斷$1是否在,並且統計下chongfu這個字元是否大於020then21echo /usr/bin/logger -p local1.info -h $msgip "the services: $IP mysql index file $1 "  #大於0說明有錯誤的,就得警示22exit23elif [ -n "$1" ] && [ `echo "$1"|grep -c 'luanle'` -gt 0 ] #判斷$1是否在,並且統計下luanle這個字元是否大於024then25echo /usr/bin/logger -p local1.info -h $msgip "the services: $IP mysql index file $1 "  #大於0說明有錯誤的,就得警示26exit27else28echo ok29fi30}31#1、判斷index是否有重複的情況32def_index_is_one()33{34if [ -n "$1" ]35then36static_index=$137def_send_mail `awk '{a[$1]++}END{for (j in a) print j,a[j]}' $static_index | awk -v flag="$static_index" '{if($2>1) print "chongfu-->"$0}'`38else39echo 'def_index_is_one $1 is null!exit'40exit41fi42}43#檢查mysql目錄下的index檔案內容順序是否正常44def_static_index_shunxu()45{46bzfile='/usr/dlm_db/mysql/zqtx-bin.index'47current_line=`cat ${bzfile}|head -n 1|sed -e "s#./zqtx-bin.##g"`48for i in `cat ${bzfile}`49do50if [ `echo $i|sed -e "s#./zqtx-bin.##g"` -lt "$current_line" ]51then52def_send_mail "luanle:${bzfile}_${current_line}"53exit54fi55current_line=`echo $i|sed -e "s#./zqtx-bin.##g"`56done57}58#檢查mysql中show master logs的index檔案內容順序是否正常59def_masterlog_index_shunxu()60{61mysql -uroot -p123456 -s -s -e "show master logs;" | awk '{print $1}' | sed -e "s/zqtx-bin.//g">/usr/dlm_db/mysql/flag_index62bzfile=/usr/dlm_db/mysql/flag_index63current_line=`cat ${bzfile}|head -n 1`64for i in `cat ${bzfile}`65do66if [ "$i" -lt "$current_line" ]67then68def_send_mail "luanle:master_logs_${i}"69exit70fi71current_line="$i"72done73}74def_index_is_one '/usr/dlm_db/mysql/zqtx-bin.index'75def_static_index_shunxu76def_masterlog_index_shunxu77def_index_is_one '/usr/dlm_db/mysql/flag_index'78}79def_check_index 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.