1.自动检测mysql主从 有没有配置成功
#!/bin/bash
check(){
list=($(mysql -e "show slave status\G;" 2>/dev/null |egrep "Running|Behind" |head -n3|awk -F ':' '{print $2}'))
#echo ${list[@]}
if [ ${list[0]} = "Yes" -a ${list[1]} = "Yes" -a ${list[2]} -lt 120 ]; then
echo '${list[0]}' "is ${list[0]}"
echo '${list[1]}' "is ${list[1]}"
echo '${list[2]}' "is ${list[2]}"
echo "mysql slave is ok!"
else
#echo ""
mail -s "mysql slave is not ok" hehe@163.com
fi
}
while :
do
check
sleep 3
done
2.数据库备份
#!/bin/bash
for dbname in `mysql -e "show databases" 2>/dev/null | egrep -v "Database|schema"`
do
echo $dbname
#分库备份
mysqldump --databases $dbname > /tmp/$dbname.sql
#分表备份
mysql -e "show tables from $dbname;" 2>/dev/null |sed '1d' >> /tmp/tables.txt
while read table
do
echo $table
mysqldump $dbname $table >/tmp/$dbname_$table.sql
done < /tmp/tables.txt
done