Varialbes
NOTIFY="No"
#Check if the slaves are running
SLAVE="$(mysql -uroot -e 'show slave status \G;' | egrep "Slave_IO_Running|Slave_SQL_Running" | awk -F "[:]" '{ print $2 }' | cut -d, -f1)"
Yes
Yes
#Compare SLAVE to Notify
if (("$SLAVE" > "$NOTIFY)); then
#IT should stop the slave
mysql -uroot -e'stop slave;'
but the problem is that my output for SLAVE is two lines
Yes
Yes
Now it seems like it doesnt recognizes the output of SLAVE when comparing to NOTIFY
Now how will i do that it will matches the YES to No.
TOmake it clear here's how i want the script to work
- Check the status of slave by getting the Slave_IO_Running and Slave_IO_Running if it is in YES state.
Code:
mysql -uroot -e 'show slave status \G;' | egrep "Slave_IO_Running|Slave_SQL_Running" | awk -F "[:]" '{ print $2 }' | cut -d, -f1
Yes
Yes
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
- IF the status is YES then it will compare to notify and do nothing
Code:
if (("$SLAVE" == "$NOTIFY)); then
But if it matches with NO then it will run the next command which is
Code:
mysql -uroot -e 'stop slave';
Now the problem is it seems like it SLAVE and NOTIFY is not comparing correctly.
Please help me guys to fix this.
thanks