Changeset 1203
- Timestamp:
- 02/26/10 06:03:00 (5 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/mysql-server/boot-cluster/boot-slave.sh
r1202 r1203 12 12 13 13 #Configuration section 14 iTimeoutSecs="300"; 14 #2 hours 15 iTimeoutSecs="7200"; 15 16 cWarnEmail="supportgrp@unixservice.com"; 16 17 cSSHPort="22" … … 30 31 while [ $? != 0 ] && [ $iCounter -lt $iTimeoutSecs ];do 31 32 let iCounter=iCounter+1; 33 #fLog "retrying ping $iCounter/$iTimeoutSecs"; 32 34 ping -c 1 $2 > /dev/null 2>&1; 33 35 done 34 36 if [ $iCounter -eq "$iTimeoutSecs" ];then 35 fLog "ping master timeout $iCounter"; 36 exit 1; 37 fLog "ping master timeout"; 38 #exit 1; 39 fi 40 41 iCounter=0; 42 /usr/bin/ssh -p $cSSHPort $2 exit > /dev/null 2>&1; 43 while [ $? != 0 ] && [ $iCounter -lt $iTimeoutSecs ];do 44 let iCounter=iCounter+1; 45 sleep 1; 46 #fLog "retrying check for ssh $iCounter/$iTimeoutSecs"; 47 /usr/bin/ssh -p $cSSHPort $2 exit > /dev/null 2>&1; 48 done 49 if [ $iCounter -eq "$iTimeoutSecs" ];then 50 fLog "remote ssh timeout"; 51 #exit 2; 37 52 fi 38 53 … … 41 56 while [ $? != 0 ] && [ $iCounter -lt $iTimeoutSecs ];do 42 57 let iCounter=iCounter+1; 58 sleep 1; 59 #fLog "retrying check for mysqld $iCounter/$iTimeoutSecs"; 43 60 /usr/bin/ssh -p $cSSHPort $2 ps -ef | grep mysqld > /dev/null 2>&1; 44 sleep 1;45 61 done 46 62 if [ $iCounter -eq "$iTimeoutSecs" ];then 47 63 fLog "remote mysqld timeout"; 48 exit 2;64 #exit 2; 49 65 fi 50 66 51 67 68 iCounter=0; 69 cBinLog=""; 70 cPosition=""; 71 eval `/usr/bin/ssh -p $cSSHPort $2 "echo 'SHOW MASTER STATUS' | mysql -p$1 | grep mysql_binary_log" | awk '{printf"cBinLog=%s\ncPosition=%s\n",$1,$2}'`; 72 while ( [ "$cBinLog" == "" ] || [ "$cPosition" == "" ] ) && [ $iCounter -lt $iTimeoutSecs ];do 73 let iCounter=iCounter+1; 74 cBinLog=""; 75 cPosition=""; 76 sleep 1; 77 #fLog "retrying get master data $iCounter/$iTimeoutSecs"; 78 eval `/usr/bin/ssh -p $cSSHPort $2 "echo 'SHOW MASTER STATUS' | mysql -p$1 | grep mysql_binary_log" | awk '{printf"cBinLog=%s\ncPosition=%s\n",$1,$2}'`; 79 done 80 if [ $iCounter -eq "$iTimeoutSecs" ];then 81 fLog "remote get master data timeout $iCounter/$iTimeoutSecs"; 82 #exit 2; 83 fi 84 85 #fLog "debug exit $iCounter/$iTimeoutSecs cBinLog=$cBinLog cPosition=$cPosition"; 86 #exit 0; 87 52 88 #master is up, get master status and parse master status. 89 cBinLog=""; 90 cPosition=""; 53 91 eval `/usr/bin/ssh -p $cSSHPort $2 "echo 'SHOW MASTER STATUS' | mysql -p$1 | grep mysql_binary_log" | awk '{printf"cBinLog=%s\ncPosition=%s\n",$1,$2}'`; 54 92 if [ $? == 0 ] && [ "$cBinLog" != "" ] && [ "$cPosition" != "" ];then … … 62 100 63 101 #SQL "change master to" parsed data on local slave MySQL server. 64 fLog "cBinLog=$cBinLog cPosition=$cPosition";65 102 echo "CHANGE MASTER TO MASTER_LOG_FILE='$cBinLog',MASTER_LOG_POS=$cPosition" | mysql -p$1 > /dev/null 2>&1; 66 103 if [ $? != 0 ];then … … 68 105 exit 5; 69 106 fi 107 fLog "change master ok cBinLog=$cBinLog cPosition=$cPosition"; 70 108 71 109 #start slave … … 87 125 exit 7; 88 126 fi 89 fLog "iSecondsBehindMaster=$iSecondsBehindMaster";127 #fLog "iSecondsBehindMaster=$iSecondsBehindMaster"; 90 128 iCounter=0; 91 129 while [ $iCounter -lt "$iTimeoutSecs" ] && [ $iSecondsBehindMaster -gt "0" ];do … … 100 138 exit 9; 101 139 fi 102 #double the timeout for long catch-up 103 sleep 2; 140 sleep 1; 104 141 done 105 142 if [ $iCounter -eq "$iTimeoutSecs" ];then
