[hobbit] MySQL Replicaiton Script

Nicolas nico at crysto.org
Wed May 26 19:43:16 CEST 2010


Hi,

We use this one:



------------

#!/bin/bash 


############################################################################
################
test -e /usr/local/mysql/bin/mysql && PROG=/usr/local/mysql/bin/mysql
test -e /usr/bin/mysql && PROG=/usr/bin/mysql
MAXDRIFT=5
############################################################################
################

MYSQLCOLOR=""
MYSQLLINE=""
HOSTIP=127.0.0.1
IPADDR=127.0.0.1
MACHINE=`uname -n`

MAXSEC=60

MYSQLUSER=root
MYSQLPORT=3306
LINE=`echo "show slave status \G" | ${PROG} -h ${HOSTIP} -u ${MYSQLUSER} -P
${MYSQLPORT} 2>&1`
MASTERPOS=`echo $LINE | grep Read_Master_Log_Pos | awk -F
'Read_Master_Log_Pos: ' '{print $2}' | awk '{print $1}'`
SLAVEPOS=`echo $LINE | grep -i Exec_Master_Log_Pos | awk -F
'Exec_Master_Log_Pos: ' '{print $2}' | awk '{print $1}'`
SLAVEUP=`echo $LINE | grep Running | wc -l`
SLAVE_SECOND_BEHIND_MASTER=`echo $LINE | grep 'Seconds_Behind_Master:'  |
awk -F 'Seconds_Behind_Master: ' '{print $2}'  | awk '{print $1}'`
test $SLAVEUP -eq "1"  &&  DRIFT=$((${MASTERPOS} - ${SLAVEPOS}))
echo "${LINE}" | ${GREP} "Running: No" >/dev/null
if test "$?" -eq "0"
then
    MYSQLCOLOR="red"
    MYSQLLINE="`${DATE}` MYSQL Slave in error
${LINE}"
elif test ${SLAVEUP} -ne "1"
then
    MYSQLCOLOR="green"
    MYSQLLINE="`${DATE}` MYSQL Slave is Stopped
${LINE}"
elif test ${SLAVE_SECOND_BEHIND_MASTER} -ge ${MAXSEC}
then
    MYSQLCOLOR="yellow"
    MYSQLLINE="`${DATE}` MYSQL Slave is ${DRIFT} statements behind!
${LINE}"
else
    MYSQLCOLOR="green"
    MYSQLLINE="`${DATE}` MYSQL Slave is ${DRIFT} statements behind!
${LINE}"
fi

#echo "${BB} ${BBDISP} status ${MACHINE}.mysqlslave ${MYSQLCOLOR}
${MYSQLLINE}"
${BB} ${BBDISP} "status ${MACHINE}.mysqlslave ${MYSQLCOLOR} ${MYSQLLINE}"

-----------------

To make it working, you need to create the file : ~hobbit/.my.cnf

[mysql]

password=XXXXXXXX

[mysqlclient]

password= XXXXXXXX

[mysqladmin]

password= XXXXXXXX

[mysqlshow]

password= XXXXXXXX

[mysqldump]

password= XXXXXXXX


chown hobbit: ~hobbit/.my.cnf
chmod 600 ~hobbit/.my.cnf


Add the section in clientlaunch.cfg

[mysqlslave]
        ENVFILE $HOBBITCLIENTHOME/etc/hobbitclient.cfg
        CMD $HOBBITCLIENTHOME/ext/mysqlslave.sh
        LOGFILE $HOBBITCLIENTHOME/logs/mysqlslave.log
        INTERVAL 5m


Restart hobbit-client.

Cheers,
Nico


On 26/05/10 19:12, "Domnick Eger" <deger at cobercafe.net> wrote:

> Just wanted to see if anyone had a working copy of the MySQL replication
> script that they would be willing to share ?
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20100526/82729815/attachment.html>


More information about the Xymon mailing list