shell整理(42)====mysql 分庫分表備份

shell 代碼以下mysql

[root@localhost /]# cat back.sh 



#!/bin/bash

/etc/init.d/mysqld status &> /dev/null
[ $? -ne 0 ]  && echo "請開啓 mysqld 服務" && exit 0



user=root
pass="123.com"
backdb=`mysql -u$user -p"$pass" -e"show databases;"|sed '1d'|grep -v 'schema'|grep -v 'home'| grep -v 'mysql'| grep -v 'test'`

echo -e "\033[32m ======================= backup start =====================  \033[0m"
for i in $backdb
do
	tables=`mysql -u$user -p"$pass" -e"use $i;show tables;" | sed '1d'`
	for j in $tables
	do
		mysqldump -u$user -p"$pass" -B --database $i --tables $j > /tmp/${i}-${j}-`date +%F.sql`
  		[ $? -eq 0  ] && echo -e "$i $j \033[32m ok \033[0m"  || echo "$i $j \033[31m filed \033[0m"
	done
done
		
echo -e "\033[32m========================backup stop==========================\033[0m"


執行結果以下
sql

8813f5feea13ab5fb96d68d966bf26cd.png

b7ddcb96697adca1bcbaeffb9372a9ec.png

相關文章
相關標籤/搜索