IT Japan

MySQL replication script2 본문

카테고리 없음

MySQL replication script2

swhwang 2016. 3. 21. 17:07
반응형


SHOW SLAVE STATUS\G  

슬레이브의 상태를 확인하여 문제가있을 것 인 경우 메일을 보내는 스크립트 메모입니다.

의도로는


* 슬레이브 프로세스가 달리고 있을까?

* 오류가 발생하고 있지  않은가

* 지​​연이 허용 범위 내에 있는지 (30 초)

덧붙여서 MySQL 자체에 연결할 수 없다 든가의 경우이 스크립트는 지원하지 않습니다.

#! / bin / sh

# watch replication

ALERT_TO = "{mail-destination}";

ALERT_SUBJECT = "[MySQL] replication alert";


CHECK_COMMAND = "SHOW SLAVE STATUS \ G";

ALLOW_DELAY_SECONDS = 30;


echo "$ CHECK_COMMAND";

slave_status =`mysql -u {user} -e "$ CHECK_COMMAND"`;

echo "$ slave_status";


# set variables from status

eval "`echo"$ slave_status "| sed -ne 's / : (*) / ="1 "/ p'`";


if [ "$ Slave_IO_Running"! = "Yes"]; then

    msg = "Slave_IO_Running : $ Slave_IO_Runningn";

fi


if [ "$ Slave_SQL_Running"! = "Yes"]; then

    msg = "$ {msg} Slave_SQL_Running : $ Slave_SQL_Runningn";

fi


if [ "$ Last_Errno"! = "0"]; then

    msg = "$ {msg} Last_Error : $ {Last_Errno}] $ Last_Errorn";

fi


if [ "$ Seconds_Behind_Master"-gt $ ALLOW_DELAY_SECONDS]; then

    msg = "$ {msg} Seconds_Behind_Master : $ Seconds_Behind_Mastern";

fi


if [ "$ msg"! = ""]; then

    echo "n-- Need alert mail -";

    echo "$ msg";

    (echo "$ {msg} n $ {CHECK_COMMAND} n $ {slave_status}"| mailx -s "$ ALERT_SUBJECT" "$ ALERT_TO");

반응형
Comments