1. Check maxscale
[root@ha01 test]# ip a | grep -i 10.10
inet 10.10.10.15/24 brd 10.10.10.255 scope global noprefixroute ens33
inet 10.10.10.110/32 scope global ens33
[root@ha01 test]#
maxctrl list servers
2. Sample check using query
[root@ha01 test]# cat info.sh
status=$(maxctrl list servers | awk '$6 == "3306" && $10 ~ /Master/ {gsub(",", "", $10); print $2, $4, $6, $10}')
server1=$(maxctrl list servers | awk '$6 == "3306" && $10 ~ /Master/ {gsub(",", "", $10); print $2}')
ipx=$(maxctrl list servers | awk '$6 == "3306" && $10 ~ /Master/ {gsub(",", "", $10); print $4}')
portx=$(maxctrl list servers | awk '$6 == "3306" && $10 ~ /Master/ {gsub(",", "", $10); print $6}')
connectionx=$(maxctrl list servers | awk '$6 == "3306" && $10 ~ /Master/ {gsub(",", "", $10); print $8}')
statex=$(maxctrl list servers | awk '$6 == "3306" && $10 ~ /Master/ {gsub(",", "", $10); print $10}')
echo "status $status"
echo "server $server1"
echo "ip $ipx"
echo "port $portx"
echo "connection $connectionx"
echo "state $statex"
[root@ha01 test]#
[root@ha01 test]# sh info.sh
status gtid01-v31 10.10.10.31 3306 Master
server gtid01-v31
ip 10.10.10.31
port 3306
connection 0
state Master
[root@ha01 test]#
3. script sample
[root@ha01 fix]# cat backup_from_maxscale.sh
#!/bin/bash
echo "scrip.sh <cluster>"
vcuster=$1
#!/bin/bash
status=$(maxctrl list servers | awk -v cluster="$vcuster" '$6 == cluster && $10 ~ /Master/ {gsub(",", "", $10); print $2, $4, $6,$8, $10}')
server1=$(maxctrl list servers | awk -v cluster="$vcuster" '$6 == cluster && $10 ~ /Master/ {gsub(",", "", $10); print $2}')
ipx=$(maxctrl list servers | awk -v cluster="$vcuster" '$6 == cluster && $10 ~ /Master/ {gsub(",", "", $10); print $4}')
portx=$(maxctrl list servers | awk -v cluster="$vcuster" '$6 == cluster && $10 ~ /Master/ {gsub(",", "", $10); print $6}')
connectionx=$(maxctrl list servers | awk -v cluster="$vcuster" '$6 == cluster && $10 ~ /Master/ {gsub(",", "", $10); print $8}')
statex=$(maxctrl list servers | awk -v cluster="$vcuster" '$6 == cluster && $10 ~ /Master/ {gsub(",", "", $10); print $10}')
# Cek apakah variabel portx kosong
if [[ -z "$vcuster" ]]; then
echo "Server not Found"
else
# Jalankan isi dari variabel portx
echo "Server Found in Cluster $vcuster with status $status"
echo "server : $server1"
echo "ip : $ipx"
echo "port : $portx"
echo "connect: $connectionx"
echo "state : $statex"
echo "backup all database from $server1 $ipx $portx"
mysql -h $ipx -uadmin -padmin -e "select @@hostname,@@version;"
mysql -h $ipx -uadmin -padmin -e "show databases;"
mysqldump -h $ipx -uadmin -padmin -P$portx --all-databases --single-transaction --skip-lock-tables > backupdball.sql
ls -lh
echo "backup selesai"
fi
[root@ha01 fix]#
[root@ha01 test]# ip a | grep -i 10.10
inet 10.10.10.15/24 brd 10.10.10.255 scope global noprefixroute ens33
inet 10.10.10.110/32 scope global ens33
[root@ha01 test]#
maxctrl list servers
2. Sample check using query
[root@ha01 test]# cat info.sh
status=$(maxctrl list servers | awk '$6 == "3306" && $10 ~ /Master/ {gsub(",", "", $10); print $2, $4, $6, $10}')
server1=$(maxctrl list servers | awk '$6 == "3306" && $10 ~ /Master/ {gsub(",", "", $10); print $2}')
ipx=$(maxctrl list servers | awk '$6 == "3306" && $10 ~ /Master/ {gsub(",", "", $10); print $4}')
portx=$(maxctrl list servers | awk '$6 == "3306" && $10 ~ /Master/ {gsub(",", "", $10); print $6}')
connectionx=$(maxctrl list servers | awk '$6 == "3306" && $10 ~ /Master/ {gsub(",", "", $10); print $8}')
statex=$(maxctrl list servers | awk '$6 == "3306" && $10 ~ /Master/ {gsub(",", "", $10); print $10}')
echo "status $status"
echo "server $server1"
echo "ip $ipx"
echo "port $portx"
echo "connection $connectionx"
echo "state $statex"
[root@ha01 test]#
[root@ha01 test]# sh info.sh
status gtid01-v31 10.10.10.31 3306 Master
server gtid01-v31
ip 10.10.10.31
port 3306
connection 0
state Master
[root@ha01 test]#
3. script sample
[root@ha01 fix]# cat backup_from_maxscale.sh
#!/bin/bash
echo "scrip.sh <cluster>"
vcuster=$1
#!/bin/bash
status=$(maxctrl list servers | awk -v cluster="$vcuster" '$6 == cluster && $10 ~ /Master/ {gsub(",", "", $10); print $2, $4, $6,$8, $10}')
server1=$(maxctrl list servers | awk -v cluster="$vcuster" '$6 == cluster && $10 ~ /Master/ {gsub(",", "", $10); print $2}')
ipx=$(maxctrl list servers | awk -v cluster="$vcuster" '$6 == cluster && $10 ~ /Master/ {gsub(",", "", $10); print $4}')
portx=$(maxctrl list servers | awk -v cluster="$vcuster" '$6 == cluster && $10 ~ /Master/ {gsub(",", "", $10); print $6}')
connectionx=$(maxctrl list servers | awk -v cluster="$vcuster" '$6 == cluster && $10 ~ /Master/ {gsub(",", "", $10); print $8}')
statex=$(maxctrl list servers | awk -v cluster="$vcuster" '$6 == cluster && $10 ~ /Master/ {gsub(",", "", $10); print $10}')
# Cek apakah variabel portx kosong
if [[ -z "$vcuster" ]]; then
echo "Server not Found"
else
# Jalankan isi dari variabel portx
echo "Server Found in Cluster $vcuster with status $status"
echo "server : $server1"
echo "ip : $ipx"
echo "port : $portx"
echo "connect: $connectionx"
echo "state : $statex"
echo "backup all database from $server1 $ipx $portx"
mysql -h $ipx -uadmin -padmin -e "select @@hostname,@@version;"
mysql -h $ipx -uadmin -padmin -e "show databases;"
mysqldump -h $ipx -uadmin -padmin -P$portx --all-databases --single-transaction --skip-lock-tables > backupdball.sql
ls -lh
echo "backup selesai"
fi
[root@ha01 fix]#
No comments:
Post a Comment