#!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多少event #####1.juede the rep slave status export black="3[0m" export boldblack="3[1;0m" export red="3[31m" export boldred="3[1;31m" export green="3[32m" export boldgreen="3[1;32m" export yellow="3[33m" export boldyellow="3[1;33m" export blue="3[34m" export boldblue="3[1;34m" export magenta="3[35m" export boldmagenta="3[1;35m" export cyan="3[36m" export boldcyan="3[1;36m" export white="3[37m" export boldwhite="3[1;37m" cecho () ## -- Function to easliy print colored text -- ## # Color-echo. # 参数= message # 参数 = color { local default_msg="No message passed." message=${1:-$default_msg} # 如果#!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多少event #####1.juede the rep slave status export black="\033[0m" export boldblack="\033[1;0m" export red="\033[31m" export boldred="\033[1;31m" export green="\033[32m" export boldgreen="\033[1;32m" export yellow="\033[33m" export boldyellow="\033[1;33m" export blue="\033[34m" export boldblue="\033[1;34m" export magenta="\033[35m" export boldmagenta="\033[1;35m" export cyan="\033[36m" export boldcyan="\033[1;36m" export white="\033[37m" export boldwhite="\033[1;37m" cecho () ## -- Function to easliy print colored text -- ## # Color-echo. # 参数 $1 = message # 参数 $2 = color { local default_msg="No message passed." message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s\n" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } cechon () # Color-echo. # 参数1 $1 = message # 参数2 $2 = color { local default_msg="No message passed." # Doesn"t really need to be a local variable. message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } ####2.jude the rep delay status #configure rep master and slave env masterhost="192.168.99.137" slavehost="192.168.1.220" mysql_user=root #mysql的用户名 mysql_pass="123" #mysql的登录用户密码 SQLresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_SQL_Running\>"|awk "{print $2}"` IOresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_IO_Running\>"|awk "{print $2}"` Behind=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Seconds_Behind_Master\>"|awk "{print $2}"` if [ "$SQLresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_SQL_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi if [ "$IOresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_IO_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi #set mysql evn MYSQL_USER_MASTER=root MYSQL_PASS_MASTER="123" MYSQL_HOST_MASTER=192.168.99.137 MYSQL_USER_SLAVE=root MYSQL_PASS_SLAVE="123" MYSQL_HOST_SLAVE=192.168.1.220 tmpfile_01="tmp01.`date +%Y%m%d%H%M%S`.txt" tmpfile_02="tmp02.`date +%Y%m%d%H%M%S`.txt" mysql -h${MYSQL_HOST_MASTER} -u${MYSQL_USER_MASTER} -p${MYSQL_PASS_MASTER} -e"SHOW BINARY LOGS;" >${tmpfile_01} mysql -h${MYSQL_HOST_SLAVE} -u${MYSQL_USER_SLAVE} -p${MYSQL_PASS_SLAVE} -e"SHOW SLAVE STATUS\G;" >${tmpfile_02} #tail -1 ${tmpfile_01} | grep -v "Log_name" #cat ${tmpfile_02} | grep -E "Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos" | grep -v "Relay_Master_Log_File" |sed "s/^[ ]*//g" a=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $1}"|awk -F "." "{print $2}"` b=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"|awk -F "." "{print $2}"` bhtime=`sed -n "/\<Seconds_Behind_Master\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` if [ "$b" = "$a" ];then c=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $2}"` d=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` k=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` e=`expr $c - $d` dfevt=`expr $d - $k` if [ "${e}" -eq 0 -a "${bhtime}" -eq 0 -a "${k}" -eq 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m &&&&&&&Synchronization has been completed!&&&&&&& \e[0m" echo "*****************************************************************************" elif [ "${e}" -eq 0 -o "${bhtime}" -gt 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m Has been synchronized to the same log file! Wait a moment \e[0m" echo -e "\e[1;31m Not synchronized binlog events is:${dfevt},behind master tims is ${bhtime} \e[0m" echo "*****************************************************************************" fi elif [ ${b} -lt ${a} ];then exbin=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` y=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` #u=`awk "{if($1~/"""""$y"""""/ ) print NR}" ${tmpfile_01}` u=`grep -n "$y" ${tmpfile_01}|awk -F: "{print $1"}` x=`awk "NR>="""$u""" { print $0}" ${tmpfile_01}|awk "BEGIN{total=0}{total+=$2}END{print total}" ` re=`expr $x - $exbin` echo -e "\e[1;31m There are multiple log files are not synchronized,the events is:${re} \e[0m" fi rm -rf ${tmpfile_01} rm -rf ${tmpfile_02}
#!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多少event #####1.juede the rep slave status export black="\033[0m" export boldblack="\033[1;0m" export red="\033[31m" export boldred="\033[1;31m" export green="\033[32m" export boldgreen="\033[1;32m" export yellow="\033[33m" export boldyellow="\033[1;33m" export blue="\033[34m" export boldblue="\033[1;34m" export magenta="\033[35m" export boldmagenta="\033[1;35m" export cyan="\033[36m" export boldcyan="\033[1;36m" export white="\033[37m" export boldwhite="\033[1;37m" cecho () ## -- Function to easliy print colored text -- ## # Color-echo. # 参数 $1 = message # 参数 $2 = color { local default_msg="No message passed." message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s\n" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } cechon () # Color-echo. # 参数1 $1 = message # 参数2 $2 = color { local default_msg="No message passed." # Doesn"t really need to be a local variable. message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } ####2.jude the rep delay status #configure rep master and slave env masterhost="192.168.99.137" slavehost="192.168.1.220" mysql_user=root #mysql的用户名 mysql_pass="123" #mysql的登录用户密码 SQLresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_SQL_Running\>"|awk "{print $2}"` IOresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_IO_Running\>"|awk "{print $2}"` Behind=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Seconds_Behind_Master\>"|awk "{print $2}"` if [ "$SQLresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_SQL_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi if [ "$IOresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_IO_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi #set mysql evn MYSQL_USER_MASTER=root MYSQL_PASS_MASTER="123" MYSQL_HOST_MASTER=192.168.99.137 MYSQL_USER_SLAVE=root MYSQL_PASS_SLAVE="123" MYSQL_HOST_SLAVE=192.168.1.220 tmpfile_01="tmp01.`date +%Y%m%d%H%M%S`.txt" tmpfile_02="tmp02.`date +%Y%m%d%H%M%S`.txt" mysql -h${MYSQL_HOST_MASTER} -u${MYSQL_USER_MASTER} -p${MYSQL_PASS_MASTER} -e"SHOW BINARY LOGS;" >${tmpfile_01} mysql -h${MYSQL_HOST_SLAVE} -u${MYSQL_USER_SLAVE} -p${MYSQL_PASS_SLAVE} -e"SHOW SLAVE STATUS\G;" >${tmpfile_02} #tail -1 ${tmpfile_01} | grep -v "Log_name" #cat ${tmpfile_02} | grep -E "Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos" | grep -v "Relay_Master_Log_File" |sed "s/^[ ]*//g" a=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $1}"|awk -F "." "{print $2}"` b=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"|awk -F "." "{print $2}"` bhtime=`sed -n "/\<Seconds_Behind_Master\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` if [ "$b" = "$a" ];then c=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $2}"` d=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` k=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` e=`expr $c - $d` dfevt=`expr $d - $k` if [ "${e}" -eq 0 -a "${bhtime}" -eq 0 -a "${k}" -eq 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m &&&&&&&Synchronization has been completed!&&&&&&& \e[0m" echo "*****************************************************************************" elif [ "${e}" -eq 0 -o "${bhtime}" -gt 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m Has been synchronized to the same log file! Wait a moment \e[0m" echo -e "\e[1;31m Not synchronized binlog events is:${dfevt},behind master tims is ${bhtime} \e[0m" echo "*****************************************************************************" fi elif [ ${b} -lt ${a} ];then exbin=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` y=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` #u=`awk "{if($1~/"""""$y"""""/ ) print NR}" ${tmpfile_01}` u=`grep -n "$y" ${tmpfile_01}|awk -F: "{print $1"}` x=`awk "NR>="""$u""" { print $0}" ${tmpfile_01}|awk "BEGIN{total=0}{total+=$2}END{print total}" ` re=`expr $x - $exbin` echo -e "\e[1;31m There are multiple log files are not synchronized,the events is:${re} \e[0m" fi rm -rf ${tmpfile_01} rm -rf ${tmpfile_02}
没有输入则为默许值default_msg. color=${2:-black} # 如果
#!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多少event #####1.juede the rep slave status export black="\033[0m" export boldblack="\033[1;0m" export red="\033[31m" export boldred="\033[1;31m" export green="\033[32m" export boldgreen="\033[1;32m" export yellow="\033[33m" export boldyellow="\033[1;33m" export blue="\033[34m" export boldblue="\033[1;34m" export magenta="\033[35m" export boldmagenta="\033[1;35m" export cyan="\033[36m" export boldcyan="\033[1;36m" export white="\033[37m" export boldwhite="\033[1;37m" cecho () ## -- Function to easliy print colored text -- ## # Color-echo. # 参数 $1 = message # 参数 $2 = color { local default_msg="No message passed." message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s\n" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } cechon () # Color-echo. # 参数1 $1 = message # 参数2 $2 = color { local default_msg="No message passed." # Doesn"t really need to be a local variable. message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } ####2.jude the rep delay status #configure rep master and slave env masterhost="192.168.99.137" slavehost="192.168.1.220" mysql_user=root #mysql的用户名 mysql_pass="123" #mysql的登录用户密码 SQLresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_SQL_Running\>"|awk "{print $2}"` IOresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_IO_Running\>"|awk "{print $2}"` Behind=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Seconds_Behind_Master\>"|awk "{print $2}"` if [ "$SQLresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_SQL_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi if [ "$IOresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_IO_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi #set mysql evn MYSQL_USER_MASTER=root MYSQL_PASS_MASTER="123" MYSQL_HOST_MASTER=192.168.99.137 MYSQL_USER_SLAVE=root MYSQL_PASS_SLAVE="123" MYSQL_HOST_SLAVE=192.168.1.220 tmpfile_01="tmp01.`date +%Y%m%d%H%M%S`.txt" tmpfile_02="tmp02.`date +%Y%m%d%H%M%S`.txt" mysql -h${MYSQL_HOST_MASTER} -u${MYSQL_USER_MASTER} -p${MYSQL_PASS_MASTER} -e"SHOW BINARY LOGS;" >${tmpfile_01} mysql -h${MYSQL_HOST_SLAVE} -u${MYSQL_USER_SLAVE} -p${MYSQL_PASS_SLAVE} -e"SHOW SLAVE STATUS\G;" >${tmpfile_02} #tail -1 ${tmpfile_01} | grep -v "Log_name" #cat ${tmpfile_02} | grep -E "Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos" | grep -v "Relay_Master_Log_File" |sed "s/^[ ]*//g" a=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $1}"|awk -F "." "{print $2}"` b=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"|awk -F "." "{print $2}"` bhtime=`sed -n "/\<Seconds_Behind_Master\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` if [ "$b" = "$a" ];then c=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $2}"` d=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` k=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` e=`expr $c - $d` dfevt=`expr $d - $k` if [ "${e}" -eq 0 -a "${bhtime}" -eq 0 -a "${k}" -eq 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m &&&&&&&Synchronization has been completed!&&&&&&& \e[0m" echo "*****************************************************************************" elif [ "${e}" -eq 0 -o "${bhtime}" -gt 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m Has been synchronized to the same log file! Wait a moment \e[0m" echo -e "\e[1;31m Not synchronized binlog events is:${dfevt},behind master tims is ${bhtime} \e[0m" echo "*****************************************************************************" fi elif [ ${b} -lt ${a} ];then exbin=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` y=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` #u=`awk "{if($1~/"""""$y"""""/ ) print NR}" ${tmpfile_01}` u=`grep -n "$y" ${tmpfile_01}|awk -F: "{print $1"}` x=`awk "NR>="""$u""" { print $0}" ${tmpfile_01}|awk "BEGIN{total=0}{total+=$2}END{print total}" ` re=`expr $x - $exbin` echo -e "\e[1;31m There are multiple log files are not synchronized,the events is:${re} \e[0m" fi rm -rf ${tmpfile_01} rm -rf ${tmpfile_02}
没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s\n" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } cechon () # Color-echo. # 参数1
#!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多少event #####1.juede the rep slave status export black="\033[0m" export boldblack="\033[1;0m" export red="\033[31m" export boldred="\033[1;31m" export green="\033[32m" export boldgreen="\033[1;32m" export yellow="\033[33m" export boldyellow="\033[1;33m" export blue="\033[34m" export boldblue="\033[1;34m" export magenta="\033[35m" export boldmagenta="\033[1;35m" export cyan="\033[36m" export boldcyan="\033[1;36m" export white="\033[37m" export boldwhite="\033[1;37m" cecho () ## -- Function to easliy print colored text -- ## # Color-echo. # 参数 $1 = message # 参数 $2 = color { local default_msg="No message passed." message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s\n" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } cechon () # Color-echo. # 参数1 $1 = message # 参数2 $2 = color { local default_msg="No message passed." # Doesn"t really need to be a local variable. message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } ####2.jude the rep delay status #configure rep master and slave env masterhost="192.168.99.137" slavehost="192.168.1.220" mysql_user=root #mysql的用户名 mysql_pass="123" #mysql的登录用户密码 SQLresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_SQL_Running\>"|awk "{print $2}"` IOresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_IO_Running\>"|awk "{print $2}"` Behind=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Seconds_Behind_Master\>"|awk "{print $2}"` if [ "$SQLresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_SQL_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi if [ "$IOresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_IO_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi #set mysql evn MYSQL_USER_MASTER=root MYSQL_PASS_MASTER="123" MYSQL_HOST_MASTER=192.168.99.137 MYSQL_USER_SLAVE=root MYSQL_PASS_SLAVE="123" MYSQL_HOST_SLAVE=192.168.1.220 tmpfile_01="tmp01.`date +%Y%m%d%H%M%S`.txt" tmpfile_02="tmp02.`date +%Y%m%d%H%M%S`.txt" mysql -h${MYSQL_HOST_MASTER} -u${MYSQL_USER_MASTER} -p${MYSQL_PASS_MASTER} -e"SHOW BINARY LOGS;" >${tmpfile_01} mysql -h${MYSQL_HOST_SLAVE} -u${MYSQL_USER_SLAVE} -p${MYSQL_PASS_SLAVE} -e"SHOW SLAVE STATUS\G;" >${tmpfile_02} #tail -1 ${tmpfile_01} | grep -v "Log_name" #cat ${tmpfile_02} | grep -E "Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos" | grep -v "Relay_Master_Log_File" |sed "s/^[ ]*//g" a=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $1}"|awk -F "." "{print $2}"` b=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"|awk -F "." "{print $2}"` bhtime=`sed -n "/\<Seconds_Behind_Master\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` if [ "$b" = "$a" ];then c=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $2}"` d=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` k=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` e=`expr $c - $d` dfevt=`expr $d - $k` if [ "${e}" -eq 0 -a "${bhtime}" -eq 0 -a "${k}" -eq 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m &&&&&&&Synchronization has been completed!&&&&&&& \e[0m" echo "*****************************************************************************" elif [ "${e}" -eq 0 -o "${bhtime}" -gt 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m Has been synchronized to the same log file! Wait a moment \e[0m" echo -e "\e[1;31m Not synchronized binlog events is:${dfevt},behind master tims is ${bhtime} \e[0m" echo "*****************************************************************************" fi elif [ ${b} -lt ${a} ];then exbin=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` y=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` #u=`awk "{if($1~/"""""$y"""""/ ) print NR}" ${tmpfile_01}` u=`grep -n "$y" ${tmpfile_01}|awk -F: "{print $1"}` x=`awk "NR>="""$u""" { print $0}" ${tmpfile_01}|awk "BEGIN{total=0}{total+=$2}END{print total}" ` re=`expr $x - $exbin` echo -e "\e[1;31m There are multiple log files are not synchronized,the events is:${re} \e[0m" fi rm -rf ${tmpfile_01} rm -rf ${tmpfile_02}
= message # 参数2 = color { local default_msg="No message passed." # Doesn"t really need to be a local variable. message=${1:-$default_msg} # 如果
#!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多少event #####1.juede the rep slave status export black="\033[0m" export boldblack="\033[1;0m" export red="\033[31m" export boldred="\033[1;31m" export green="\033[32m" export boldgreen="\033[1;32m" export yellow="\033[33m" export boldyellow="\033[1;33m" export blue="\033[34m" export boldblue="\033[1;34m" export magenta="\033[35m" export boldmagenta="\033[1;35m" export cyan="\033[36m" export boldcyan="\033[1;36m" export white="\033[37m" export boldwhite="\033[1;37m" cecho () ## -- Function to easliy print colored text -- ## # Color-echo. # 参数 $1 = message # 参数 $2 = color { local default_msg="No message passed." message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s\n" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } cechon () # Color-echo. # 参数1 $1 = message # 参数2 $2 = color { local default_msg="No message passed." # Doesn"t really need to be a local variable. message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } ####2.jude the rep delay status #configure rep master and slave env masterhost="192.168.99.137" slavehost="192.168.1.220" mysql_user=root #mysql的用户名 mysql_pass="123" #mysql的登录用户密码 SQLresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_SQL_Running\>"|awk "{print $2}"` IOresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_IO_Running\>"|awk "{print $2}"` Behind=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Seconds_Behind_Master\>"|awk "{print $2}"` if [ "$SQLresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_SQL_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi if [ "$IOresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_IO_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi #set mysql evn MYSQL_USER_MASTER=root MYSQL_PASS_MASTER="123" MYSQL_HOST_MASTER=192.168.99.137 MYSQL_USER_SLAVE=root MYSQL_PASS_SLAVE="123" MYSQL_HOST_SLAVE=192.168.1.220 tmpfile_01="tmp01.`date +%Y%m%d%H%M%S`.txt" tmpfile_02="tmp02.`date +%Y%m%d%H%M%S`.txt" mysql -h${MYSQL_HOST_MASTER} -u${MYSQL_USER_MASTER} -p${MYSQL_PASS_MASTER} -e"SHOW BINARY LOGS;" >${tmpfile_01} mysql -h${MYSQL_HOST_SLAVE} -u${MYSQL_USER_SLAVE} -p${MYSQL_PASS_SLAVE} -e"SHOW SLAVE STATUS\G;" >${tmpfile_02} #tail -1 ${tmpfile_01} | grep -v "Log_name" #cat ${tmpfile_02} | grep -E "Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos" | grep -v "Relay_Master_Log_File" |sed "s/^[ ]*//g" a=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $1}"|awk -F "." "{print $2}"` b=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"|awk -F "." "{print $2}"` bhtime=`sed -n "/\<Seconds_Behind_Master\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` if [ "$b" = "$a" ];then c=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $2}"` d=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` k=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` e=`expr $c - $d` dfevt=`expr $d - $k` if [ "${e}" -eq 0 -a "${bhtime}" -eq 0 -a "${k}" -eq 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m &&&&&&&Synchronization has been completed!&&&&&&& \e[0m" echo "*****************************************************************************" elif [ "${e}" -eq 0 -o "${bhtime}" -gt 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m Has been synchronized to the same log file! Wait a moment \e[0m" echo -e "\e[1;31m Not synchronized binlog events is:${dfevt},behind master tims is ${bhtime} \e[0m" echo "*****************************************************************************" fi elif [ ${b} -lt ${a} ];then exbin=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` y=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` #u=`awk "{if($1~/"""""$y"""""/ ) print NR}" ${tmpfile_01}` u=`grep -n "$y" ${tmpfile_01}|awk -F: "{print $1"}` x=`awk "NR>="""$u""" { print $0}" ${tmpfile_01}|awk "BEGIN{total=0}{total+=$2}END{print total}" ` re=`expr $x - $exbin` echo -e "\e[1;31m There are multiple log files are not synchronized,the events is:${re} \e[0m" fi rm -rf ${tmpfile_01} rm -rf ${tmpfile_02}
没有输入则为默许值default_msg. color=${2:-black} # 如果
#!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多少event #####1.juede the rep slave status export black="\033[0m" export boldblack="\033[1;0m" export red="\033[31m" export boldred="\033[1;31m" export green="\033[32m" export boldgreen="\033[1;32m" export yellow="\033[33m" export boldyellow="\033[1;33m" export blue="\033[34m" export boldblue="\033[1;34m" export magenta="\033[35m" export boldmagenta="\033[1;35m" export cyan="\033[36m" export boldcyan="\033[1;36m" export white="\033[37m" export boldwhite="\033[1;37m" cecho () ## -- Function to easliy print colored text -- ## # Color-echo. # 参数 $1 = message # 参数 $2 = color { local default_msg="No message passed." message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s\n" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } cechon () # Color-echo. # 参数1 $1 = message # 参数2 $2 = color { local default_msg="No message passed." # Doesn"t really need to be a local variable. message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } ####2.jude the rep delay status #configure rep master and slave env masterhost="192.168.99.137" slavehost="192.168.1.220" mysql_user=root #mysql的用户名 mysql_pass="123" #mysql的登录用户密码 SQLresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_SQL_Running\>"|awk "{print $2}"` IOresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_IO_Running\>"|awk "{print $2}"` Behind=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Seconds_Behind_Master\>"|awk "{print $2}"` if [ "$SQLresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_SQL_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi if [ "$IOresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_IO_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi #set mysql evn MYSQL_USER_MASTER=root MYSQL_PASS_MASTER="123" MYSQL_HOST_MASTER=192.168.99.137 MYSQL_USER_SLAVE=root MYSQL_PASS_SLAVE="123" MYSQL_HOST_SLAVE=192.168.1.220 tmpfile_01="tmp01.`date +%Y%m%d%H%M%S`.txt" tmpfile_02="tmp02.`date +%Y%m%d%H%M%S`.txt" mysql -h${MYSQL_HOST_MASTER} -u${MYSQL_USER_MASTER} -p${MYSQL_PASS_MASTER} -e"SHOW BINARY LOGS;" >${tmpfile_01} mysql -h${MYSQL_HOST_SLAVE} -u${MYSQL_USER_SLAVE} -p${MYSQL_PASS_SLAVE} -e"SHOW SLAVE STATUS\G;" >${tmpfile_02} #tail -1 ${tmpfile_01} | grep -v "Log_name" #cat ${tmpfile_02} | grep -E "Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos" | grep -v "Relay_Master_Log_File" |sed "s/^[ ]*//g" a=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $1}"|awk -F "." "{print $2}"` b=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"|awk -F "." "{print $2}"` bhtime=`sed -n "/\<Seconds_Behind_Master\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` if [ "$b" = "$a" ];then c=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $2}"` d=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` k=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` e=`expr $c - $d` dfevt=`expr $d - $k` if [ "${e}" -eq 0 -a "${bhtime}" -eq 0 -a "${k}" -eq 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m &&&&&&&Synchronization has been completed!&&&&&&& \e[0m" echo "*****************************************************************************" elif [ "${e}" -eq 0 -o "${bhtime}" -gt 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m Has been synchronized to the same log file! Wait a moment \e[0m" echo -e "\e[1;31m Not synchronized binlog events is:${dfevt},behind master tims is ${bhtime} \e[0m" echo "*****************************************************************************" fi elif [ ${b} -lt ${a} ];then exbin=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` y=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` #u=`awk "{if($1~/"""""$y"""""/ ) print NR}" ${tmpfile_01}` u=`grep -n "$y" ${tmpfile_01}|awk -F: "{print $1"}` x=`awk "NR>="""$u""" { print $0}" ${tmpfile_01}|awk "BEGIN{total=0}{total+=$2}END{print total}" ` re=`expr $x - $exbin` echo -e "\e[1;31m There are multiple log files are not synchronized,the events is:${re} \e[0m" fi rm -rf ${tmpfile_01} rm -rf ${tmpfile_02}
没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } ####2.jude the rep delay status #configure rep master and slave env masterhost="192.168.99.137" slavehost="192.168.1.220" mysql_user=root #mysql的用户名 mysql_pass="123" #mysql的登录用户密码 SQLresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_SQL_Running\>"|awk "{print }"` IOresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_IO_Running\>"|awk "{print }"` Behind=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Seconds_Behind_Master\>"|awk "{print }"` if [ "$SQLresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_SQL_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi if [ "$IOresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_IO_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi #set mysql evn MYSQL_USER_MASTER=root MYSQL_PASS_MASTER="123" MYSQL_HOST_MASTER=192.168.99.137 MYSQL_USER_SLAVE=root MYSQL_PASS_SLAVE="123" MYSQL_HOST_SLAVE=192.168.1.220 tmpfile_01="tmp01.`date +%Y%m%d%H%M%S`.txt" tmpfile_02="tmp02.`date +%Y%m%d%H%M%S`.txt" mysql -h${MYSQL_HOST_MASTER} -u${MYSQL_USER_MASTER} -p${MYSQL_PASS_MASTER} -e"SHOW BINARY LOGS;" >${tmpfile_01} mysql -h${MYSQL_HOST_SLAVE} -u${MYSQL_USER_SLAVE} -p${MYSQL_PASS_SLAVE} -e"SHOW SLAVE STATUS\G;" >${tmpfile_02} #tail -1 ${tmpfile_01} | grep -v "Log_name" #cat ${tmpfile_02} | grep -E "Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos" | grep -v "Relay_Master_Log_File" |sed "s/^[ ]*//g" a=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print
#!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多少event #####1.juede the rep slave status export black="\033[0m" export boldblack="\033[1;0m" export red="\033[31m" export boldred="\033[1;31m" export green="\033[32m" export boldgreen="\033[1;32m" export yellow="\033[33m" export boldyellow="\033[1;33m" export blue="\033[34m" export boldblue="\033[1;34m" export magenta="\033[35m" export boldmagenta="\033[1;35m" export cyan="\033[36m" export boldcyan="\033[1;36m" export white="\033[37m" export boldwhite="\033[1;37m" cecho () ## -- Function to easliy print colored text -- ## # Color-echo. # 参数 $1 = message # 参数 $2 = color { local default_msg="No message passed." message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s\n" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } cechon () # Color-echo. # 参数1 $1 = message # 参数2 $2 = color { local default_msg="No message passed." # Doesn"t really need to be a local variable. message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } ####2.jude the rep delay status #configure rep master and slave env masterhost="192.168.99.137" slavehost="192.168.1.220" mysql_user=root #mysql的用户名 mysql_pass="123" #mysql的登录用户密码 SQLresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_SQL_Running\>"|awk "{print $2}"` IOresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_IO_Running\>"|awk "{print $2}"` Behind=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Seconds_Behind_Master\>"|awk "{print $2}"` if [ "$SQLresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_SQL_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi if [ "$IOresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_IO_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi #set mysql evn MYSQL_USER_MASTER=root MYSQL_PASS_MASTER="123" MYSQL_HOST_MASTER=192.168.99.137 MYSQL_USER_SLAVE=root MYSQL_PASS_SLAVE="123" MYSQL_HOST_SLAVE=192.168.1.220 tmpfile_01="tmp01.`date +%Y%m%d%H%M%S`.txt" tmpfile_02="tmp02.`date +%Y%m%d%H%M%S`.txt" mysql -h${MYSQL_HOST_MASTER} -u${MYSQL_USER_MASTER} -p${MYSQL_PASS_MASTER} -e"SHOW BINARY LOGS;" >${tmpfile_01} mysql -h${MYSQL_HOST_SLAVE} -u${MYSQL_USER_SLAVE} -p${MYSQL_PASS_SLAVE} -e"SHOW SLAVE STATUS\G;" >${tmpfile_02} #tail -1 ${tmpfile_01} | grep -v "Log_name" #cat ${tmpfile_02} | grep -E "Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos" | grep -v "Relay_Master_Log_File" |sed "s/^[ ]*//g" a=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $1}"|awk -F "." "{print $2}"` b=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"|awk -F "." "{print $2}"` bhtime=`sed -n "/\<Seconds_Behind_Master\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` if [ "$b" = "$a" ];then c=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $2}"` d=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` k=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` e=`expr $c - $d` dfevt=`expr $d - $k` if [ "${e}" -eq 0 -a "${bhtime}" -eq 0 -a "${k}" -eq 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m &&&&&&&Synchronization has been completed!&&&&&&& \e[0m" echo "*****************************************************************************" elif [ "${e}" -eq 0 -o "${bhtime}" -gt 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m Has been synchronized to the same log file! Wait a moment \e[0m" echo -e "\e[1;31m Not synchronized binlog events is:${dfevt},behind master tims is ${bhtime} \e[0m" echo "*****************************************************************************" fi elif [ ${b} -lt ${a} ];then exbin=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` y=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` #u=`awk "{if($1~/"""""$y"""""/ ) print NR}" ${tmpfile_01}` u=`grep -n "$y" ${tmpfile_01}|awk -F: "{print $1"}` x=`awk "NR>="""$u""" { print $0}" ${tmpfile_01}|awk "BEGIN{total=0}{total+=$2}END{print total}" ` re=`expr $x - $exbin` echo -e "\e[1;31m There are multiple log files are not synchronized,the events is:${re} \e[0m" fi rm -rf ${tmpfile_01} rm -rf ${tmpfile_02}
}"|awk -F "." "{print }"` b=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print }"|awk -F "." "{print }"` bhtime=`sed -n "/\<Seconds_Behind_Master\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print }"` if [ "$b" = "$a" ];then c=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print }"` d=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print }"` k=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print }"` e=`expr $c - $d` dfevt=`expr $d - $k` if [ "${e}" -eq 0 -a "${bhtime}" -eq 0 -a "${k}" -eq 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m &&&&&&&Synchronization has been completed!&&&&&&& \e[0m" echo "*****************************************************************************" elif [ "${e}" -eq 0 -o "${bhtime}" -gt 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m Has been synchronized to the same log file! Wait a moment \e[0m" echo -e "\e[1;31m Not synchronized binlog events is:${dfevt},behind master tims is ${bhtime} \e[0m" echo "*****************************************************************************" fi elif [ ${b} -lt ${a} ];then exbin=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print }"` y=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print }"` #u=`awk "{if(
#!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多少event #####1.juede the rep slave status export black="\033[0m" export boldblack="\033[1;0m" export red="\033[31m" export boldred="\033[1;31m" export green="\033[32m" export boldgreen="\033[1;32m" export yellow="\033[33m" export boldyellow="\033[1;33m" export blue="\033[34m" export boldblue="\033[1;34m" export magenta="\033[35m" export boldmagenta="\033[1;35m" export cyan="\033[36m" export boldcyan="\033[1;36m" export white="\033[37m" export boldwhite="\033[1;37m" cecho () ## -- Function to easliy print colored text -- ## # Color-echo. # 参数 $1 = message # 参数 $2 = color { local default_msg="No message passed." message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s\n" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } cechon () # Color-echo. # 参数1 $1 = message # 参数2 $2 = color { local default_msg="No message passed." # Doesn"t really need to be a local variable. message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } ####2.jude the rep delay status #configure rep master and slave env masterhost="192.168.99.137" slavehost="192.168.1.220" mysql_user=root #mysql的用户名 mysql_pass="123" #mysql的登录用户密码 SQLresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_SQL_Running\>"|awk "{print $2}"` IOresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_IO_Running\>"|awk "{print $2}"` Behind=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Seconds_Behind_Master\>"|awk "{print $2}"` if [ "$SQLresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_SQL_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi if [ "$IOresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_IO_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi #set mysql evn MYSQL_USER_MASTER=root MYSQL_PASS_MASTER="123" MYSQL_HOST_MASTER=192.168.99.137 MYSQL_USER_SLAVE=root MYSQL_PASS_SLAVE="123" MYSQL_HOST_SLAVE=192.168.1.220 tmpfile_01="tmp01.`date +%Y%m%d%H%M%S`.txt" tmpfile_02="tmp02.`date +%Y%m%d%H%M%S`.txt" mysql -h${MYSQL_HOST_MASTER} -u${MYSQL_USER_MASTER} -p${MYSQL_PASS_MASTER} -e"SHOW BINARY LOGS;" >${tmpfile_01} mysql -h${MYSQL_HOST_SLAVE} -u${MYSQL_USER_SLAVE} -p${MYSQL_PASS_SLAVE} -e"SHOW SLAVE STATUS\G;" >${tmpfile_02} #tail -1 ${tmpfile_01} | grep -v "Log_name" #cat ${tmpfile_02} | grep -E "Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos" | grep -v "Relay_Master_Log_File" |sed "s/^[ ]*//g" a=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $1}"|awk -F "." "{print $2}"` b=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"|awk -F "." "{print $2}"` bhtime=`sed -n "/\<Seconds_Behind_Master\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` if [ "$b" = "$a" ];then c=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $2}"` d=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` k=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` e=`expr $c - $d` dfevt=`expr $d - $k` if [ "${e}" -eq 0 -a "${bhtime}" -eq 0 -a "${k}" -eq 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m &&&&&&&Synchronization has been completed!&&&&&&& \e[0m" echo "*****************************************************************************" elif [ "${e}" -eq 0 -o "${bhtime}" -gt 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m Has been synchronized to the same log file! Wait a moment \e[0m" echo -e "\e[1;31m Not synchronized binlog events is:${dfevt},behind master tims is ${bhtime} \e[0m" echo "*****************************************************************************" fi elif [ ${b} -lt ${a} ];then exbin=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` y=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` #u=`awk "{if($1~/"""""$y"""""/ ) print NR}" ${tmpfile_01}` u=`grep -n "$y" ${tmpfile_01}|awk -F: "{print $1"}` x=`awk "NR>="""$u""" { print $0}" ${tmpfile_01}|awk "BEGIN{total=0}{total+=$2}END{print total}" ` re=`expr $x - $exbin` echo -e "\e[1;31m There are multiple log files are not synchronized,the events is:${re} \e[0m" fi rm -rf ${tmpfile_01} rm -rf ${tmpfile_02}
~/"""""$y"""""/ ) print NR}" ${tmpfile_01}` u=`grep -n "$y" ${tmpfile_01}|awk -F: "{print
#!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多少event #####1.juede the rep slave status export black="\033[0m" export boldblack="\033[1;0m" export red="\033[31m" export boldred="\033[1;31m" export green="\033[32m" export boldgreen="\033[1;32m" export yellow="\033[33m" export boldyellow="\033[1;33m" export blue="\033[34m" export boldblue="\033[1;34m" export magenta="\033[35m" export boldmagenta="\033[1;35m" export cyan="\033[36m" export boldcyan="\033[1;36m" export white="\033[37m" export boldwhite="\033[1;37m" cecho () ## -- Function to easliy print colored text -- ## # Color-echo. # 参数 $1 = message # 参数 $2 = color { local default_msg="No message passed." message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s\n" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } cechon () # Color-echo. # 参数1 $1 = message # 参数2 $2 = color { local default_msg="No message passed." # Doesn"t really need to be a local variable. message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } ####2.jude the rep delay status #configure rep master and slave env masterhost="192.168.99.137" slavehost="192.168.1.220" mysql_user=root #mysql的用户名 mysql_pass="123" #mysql的登录用户密码 SQLresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_SQL_Running\>"|awk "{print $2}"` IOresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_IO_Running\>"|awk "{print $2}"` Behind=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Seconds_Behind_Master\>"|awk "{print $2}"` if [ "$SQLresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_SQL_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi if [ "$IOresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_IO_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi #set mysql evn MYSQL_USER_MASTER=root MYSQL_PASS_MASTER="123" MYSQL_HOST_MASTER=192.168.99.137 MYSQL_USER_SLAVE=root MYSQL_PASS_SLAVE="123" MYSQL_HOST_SLAVE=192.168.1.220 tmpfile_01="tmp01.`date +%Y%m%d%H%M%S`.txt" tmpfile_02="tmp02.`date +%Y%m%d%H%M%S`.txt" mysql -h${MYSQL_HOST_MASTER} -u${MYSQL_USER_MASTER} -p${MYSQL_PASS_MASTER} -e"SHOW BINARY LOGS;" >${tmpfile_01} mysql -h${MYSQL_HOST_SLAVE} -u${MYSQL_USER_SLAVE} -p${MYSQL_PASS_SLAVE} -e"SHOW SLAVE STATUS\G;" >${tmpfile_02} #tail -1 ${tmpfile_01} | grep -v "Log_name" #cat ${tmpfile_02} | grep -E "Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos" | grep -v "Relay_Master_Log_File" |sed "s/^[ ]*//g" a=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $1}"|awk -F "." "{print $2}"` b=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"|awk -F "." "{print $2}"` bhtime=`sed -n "/\<Seconds_Behind_Master\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` if [ "$b" = "$a" ];then c=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $2}"` d=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` k=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` e=`expr $c - $d` dfevt=`expr $d - $k` if [ "${e}" -eq 0 -a "${bhtime}" -eq 0 -a "${k}" -eq 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m &&&&&&&Synchronization has been completed!&&&&&&& \e[0m" echo "*****************************************************************************" elif [ "${e}" -eq 0 -o "${bhtime}" -gt 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m Has been synchronized to the same log file! Wait a moment \e[0m" echo -e "\e[1;31m Not synchronized binlog events is:${dfevt},behind master tims is ${bhtime} \e[0m" echo "*****************************************************************************" fi elif [ ${b} -lt ${a} ];then exbin=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` y=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` #u=`awk "{if($1~/"""""$y"""""/ ) print NR}" ${tmpfile_01}` u=`grep -n "$y" ${tmpfile_01}|awk -F: "{print $1"}` x=`awk "NR>="""$u""" { print $0}" ${tmpfile_01}|awk "BEGIN{total=0}{total+=$2}END{print total}" ` re=`expr $x - $exbin` echo -e "\e[1;31m There are multiple log files are not synchronized,the events is:${re} \e[0m" fi rm -rf ${tmpfile_01} rm -rf ${tmpfile_02}
"}` x=`awk "NR>="""$u""" { print
#!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多少event #####1.juede the rep slave status export black="\033[0m" export boldblack="\033[1;0m" export red="\033[31m" export boldred="\033[1;31m" export green="\033[32m" export boldgreen="\033[1;32m" export yellow="\033[33m" export boldyellow="\033[1;33m" export blue="\033[34m" export boldblue="\033[1;34m" export magenta="\033[35m" export boldmagenta="\033[1;35m" export cyan="\033[36m" export boldcyan="\033[1;36m" export white="\033[37m" export boldwhite="\033[1;37m" cecho () ## -- Function to easliy print colored text -- ## # Color-echo. # 参数 $1 = message # 参数 $2 = color { local default_msg="No message passed." message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s\n" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } cechon () # Color-echo. # 参数1 $1 = message # 参数2 $2 = color { local default_msg="No message passed." # Doesn"t really need to be a local variable. message=${1:-$default_msg} # 如果$1没有输入则为默许值default_msg. color=${2:-black} # 如果$1没有输入则为默许值black. case $color in black) printf "$black" ;; boldblack) printf "$boldblack" ;; red) printf "$red" ;; boldred) printf "$boldred" ;; green) printf "$green" ;; boldgreen) printf "$boldgreen" ;; yellow) printf "$yellow" ;; boldyellow) printf "$boldyellow" ;; blue) printf "$blue" ;; boldblue) printf "$boldblue" ;; magenta) printf "$magenta" ;; boldmagenta) printf "$boldmagenta" ;; cyan) printf "$cyan" ;; boldcyan) printf "$boldcyan" ;; white) printf "$white" ;; boldwhite) printf "$boldwhite" ;; esac printf "%s" "$message" tput sgr0 # tput sgr0即恢复默许值 printf "$black" return } ####2.jude the rep delay status #configure rep master and slave env masterhost="192.168.99.137" slavehost="192.168.1.220" mysql_user=root #mysql的用户名 mysql_pass="123" #mysql的登录用户密码 SQLresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_SQL_Running\>"|awk "{print $2}"` IOresponse=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Slave_IO_Running\>"|awk "{print $2}"` Behind=`mysql -h${slavehost} -u${mysql_user} -p${mysql_pass} mysql -e "show slave status \G" |grep "\<Seconds_Behind_Master\>"|awk "{print $2}"` if [ "$SQLresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_SQL_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi if [ "$IOresponse" = "No" ]; then echo " " error="mysql服务器($slavehost)的复制已停滞工作:Slave_IO_Running: No;没法获得复制延迟情形." cechon "${error}" red echo " " exit 0 fi #set mysql evn MYSQL_USER_MASTER=root MYSQL_PASS_MASTER="123" MYSQL_HOST_MASTER=192.168.99.137 MYSQL_USER_SLAVE=root MYSQL_PASS_SLAVE="123" MYSQL_HOST_SLAVE=192.168.1.220 tmpfile_01="tmp01.`date +%Y%m%d%H%M%S`.txt" tmpfile_02="tmp02.`date +%Y%m%d%H%M%S`.txt" mysql -h${MYSQL_HOST_MASTER} -u${MYSQL_USER_MASTER} -p${MYSQL_PASS_MASTER} -e"SHOW BINARY LOGS;" >${tmpfile_01} mysql -h${MYSQL_HOST_SLAVE} -u${MYSQL_USER_SLAVE} -p${MYSQL_PASS_SLAVE} -e"SHOW SLAVE STATUS\G;" >${tmpfile_02} #tail -1 ${tmpfile_01} | grep -v "Log_name" #cat ${tmpfile_02} | grep -E "Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos" | grep -v "Relay_Master_Log_File" |sed "s/^[ ]*//g" a=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $1}"|awk -F "." "{print $2}"` b=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"|awk -F "." "{print $2}"` bhtime=`sed -n "/\<Seconds_Behind_Master\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` if [ "$b" = "$a" ];then c=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk "{print $2}"` d=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` k=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` e=`expr $c - $d` dfevt=`expr $d - $k` if [ "${e}" -eq 0 -a "${bhtime}" -eq 0 -a "${k}" -eq 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m &&&&&&&Synchronization has been completed!&&&&&&& \e[0m" echo "*****************************************************************************" elif [ "${e}" -eq 0 -o "${bhtime}" -gt 0 ] ; then echo "*****************************************************************************" echo -e "\e[1;31m Has been synchronized to the same log file! Wait a moment \e[0m" echo -e "\e[1;31m Not synchronized binlog events is:${dfevt},behind master tims is ${bhtime} \e[0m" echo "*****************************************************************************" fi elif [ ${b} -lt ${a} ];then exbin=`sed -n "/\<Exec_Master_Log_Pos\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` y=`sed -n "/\<Relay_Master_Log_File\>/p" ${tmpfile_02} |sed "s/^[ ]*//g" |awk -F ":" "{print $2}"` #u=`awk "{if($1~/"""""$y"""""/ ) print NR}" ${tmpfile_01}` u=`grep -n "$y" ${tmpfile_01}|awk -F: "{print $1"}` x=`awk "NR>="""$u""" { print $0}" ${tmpfile_01}|awk "BEGIN{total=0}{total+=$2}END{print total}" ` re=`expr $x - $exbin` echo -e "\e[1;31m There are multiple log files are not synchronized,the events is:${re} \e[0m" fi rm -rf ${tmpfile_01} rm -rf ${tmpfile_02}
}" ${tmpfile_01}|awk "BEGIN{total=0}{total+=}END{print total}" ` re=`expr $x - $exbin` echo -e "\e[1;31m There are multiple log files are not synchronized,the events is:${re} \e[0m" fi rm -rf ${tmpfile_01} rm -rf ${tmpfile_02} #!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多