1, # 고양이 db.txt는
백엔드 3310
기본 3320
스토리지 3330
지불 3340
홍보 3350
2, # 고양이 restart_mysql_slave.sh의
#! / 빈 / 쉬
수출 PATH = $ PATH : / usr / 지방 / mysql을 / 빈
에코 -e "\ 033 31m`date +"% Y- % M- % D "다시 시작 '! \ 033 0m"% T
# 데이터베이스 중지
/opt/ops-tool/stop_all.sh을
# 데이터베이스 시작
/opt/ops-tool/start_all.sh을
라이브러리에서 # 시작
/opt/ops-tool/start_slave.sh
마스터에서 # 확인 상태
/opt/ops-tool/mysql_replication_check.sh
에코 -e "\ 033 31m`date +"% Y- % M- % D % T " '재시작 단부! \ n \ 033 0m"
3, # 고양이 stop_all.sh의
#! / 빈 / 쉬
수출 PATH = $ PATH : / usr / 지방 / mysql을 / 빈
# 정지 데이터베이스
고양이 /opt/ops-tool/db.txt | 읽기 라인 동안
할
PWD = 'XXX'
포트 = $ (에코 $ 선 | AWK '{} $ 2 인쇄')
/ usr / 지방 / MySQL을 / 빈 / mysqladmin 데이터 포트 -uroot - P - P $ -h127.0.0.1 $ PWD 종료 &>을 / dev / null
SLEEP 10
DONE
4, # 고양이 start_all.sh
/ usr / 지방 / MySQL은 / 빈 / mysqld_safe에의 --defaults = 파일 / 데이터 / account_3550 / CONT / my.cnf의 &> / 디바이스 / 널 및
/ usr / 지방 / MySQL은 / 빈 / mysqld_safe에 --defaults = 파일 / 데이터 / backend_3310 / CONT / my.cnf의 &> / 디바이스 / 널 및
/ usr / 지방 / MySQL은 / 빈 / mysqld_safe에의 --defaults = 파일 / 데이터 / base_3320 / CONT / my.cnf의 & > / 디바이스 / 널 및
/ usr / 지방 / MySQL은 / 빈 / mysqld_safe에의 --defaults = 파일 / 데이터 / bbtoms_3520 / CONT / my.cnf의 &> / 디바이스 / 널 및
/ usr / 지방 / MySQL은 / 빈 / mysqld_safe에 - -defaults = 파일 / 데이터 / bcoin_3610 / CONT / my.cnf의 &> / 디바이스 / 널 및
수면 (20)
5, # 고양이 mysql_replication_check.sh의
#! / 빈 / 쉬
수출 PATH = $ PATH : / usr / 지방 / mysql을 / 빈
고양이 /opt/ops-tool/db.txt | 읽기 라인 동안
할
PWD = 'XXX'
| 서비스 = $은 ( '{$ 1 인쇄}'AWK $ 라인 에코)
= $ 포트를 | ($ 라인 에코 AWK를 '{$ 2 인쇄}')
mysql을 = "/ usr / 지방 / mysql을 / 빈 / mysql을 -h127.0.0.1 -P $ 포트 -uroot -p $ PWD "
$ mysql을 -e"쇼 노예 상태 \ G; " 2>을 / dev / null> tmp.log
IO_env =`고양이 tmp.log | 그렙 -w Slave_IO_Running | AWK ''{$ 2 인쇄} '
SQL_env =`고양이 tmp.log | 그렙 -w Slave_SQL_Running | AWK는 '{$ 2 인쇄}'`
#判断Slave_IO_Running Slave_SQL_Running状态
[ "$ IO_env"= "예"-a "$ SQL_env"= "예"
] 다음
에코 -e "복제 \ 033 [32m $ 서비스 -> $ 포트 \ 033 [0m OK!"
그밖에
에코 -e는 "복제 \ 033 [31m의 $ 서비스 -> $ 포트 \ 033 [0m은 비정상이다!"
Fi를
완료
/ 빈 / RF RM은 tmp.log
6, # crontab을 -l
0 17 * * * / 빈 / 떠들썩한 파티 /opt/ops-tool/restart_mysql_slave.sh> / TMP / restart_mysql $ _ (일자 "+ \ % Y - \ %의 m - \ % D"). 로그