Saturday, 5 March 2016

MySQL Replication Check Script CentOS


# trigger mail on replication failover script

# */1 05-11 * * * /bin/sh /home/sysuser/sync_repl/check_sync.sh

user=root

password='mypassword'

today=$(date -d '1 day ago' +'%Y%m%d');

echo $'\n'

echo $'\n'

# echo $'\n' >> /home/sysuser/sync_repl/repl_log

echo $'\n' >> /home/sysuser/sync_repl/repl_log


mysql -u $user -p$password -v -v -v exampledb -e "show slave status \G" | grep -inr "Seconds_Behind_Master" > /home/sysuser/sync_repl/sync_log

echo $'\n'

echo $'\n'


#if grep -q -i '^0$' /home/sysuser/sync_repl/sync_log

if grep -q -i 'Seconds_Behind_Master: 0' /home/sysuser/sync_repl/sync_log


        then

                echo "Slave is in SYNC with Master. Status checked at: "

                # mail -s "Replication has STOPPED" exampledb@gmail.com -c exampledb@gmail.com -c exampledb@gmail.com < /home/sysuser/sync_repl/error_msg

                echo "Slave is in Sync with Master. Status checked at: " `date` >> /home/sysuser/sync_repl/repl_log


        else

                echo "Slave is not in SYNC from Master"

                echo "Slave is NOT IN SYNC from Master. Status checked At : " `date` >> /home/sysuser/sync_repl/repl_log

                # mail -s "Replication Is running" namdev.it@gmail.com -c mail@example.com < /home/sysuser/sync_repl/error_msg

                # mysql -u $user -p$password -v dbname -e "Show Slave Status \G" | grep -inr "Slave_IO_Running" >> /home/sysuser/sync_repl/repl_log

fi


echo $'\n' >> /home/sysuser/sync_repl/repl_log

# echo $'\n' >> /home/sysuser/sync_repl/repl_log


Setup in CronJobs:


#*/1 * * * * /bin/sh /home/sysuser/sync_repl/check_sync_final.sh

No comments: