I am looking for a bash script (using Perl - As that is already installed on the machine and I don't want to have to install Ruby, Python etc. just for this requirement) that will perform some simple mySQL replication monitoring of a remote Master & Slave. The script will be able to:
- Connect to a remote mySQL master and a remote mySQL slave (cron job is running on a different machine)
- Using the output of
SHOW SLAVE STATUS;and
SHOW MASTER STATUSbe able to email notify:
1) A general problem with replication ie. Not running, slave threads stopped etc. 2) Whether the slave is behind in transactions (Ideally this would be configurable)
- Email should be configurable for delivery details as well as a cooling off period. So if the cron is run every minute emails for the same error kind are only sent after the cooling off period. So instead of 10 emails for the replication not running you get 1
I have looked online for a solution, but have been unable to find anything suitable.
So if anyone can point me in the right direction I would appreciate it.