定时任务中的备份不同的数据库中的所有的表,每个表使用单独的sql备份文件

#! /bin/bash
# 指定用户
USER=root
# 指定密码
PASS=123456
# 指定主机地址
HOST=localhost
# 指定备份的目录
BACKUP=/backup/sql
 
 
 
# 如果备份的目录存在,创建路径
if [ ! -d $BACKUP ]; then
 
mkdir -pv $BACKUP
 
fi
 
 
 
# 遍历所有的库
for db in `mysql -u$USER -h$HOST -p$PASS -e "show databases;" | egrep -v "mysql|information_schema|performance_schema|Database|test"`; do
 
# 创建对应的目录
mkdir -pv $BACKUP/"$db"_`date +%F`
 
# 遍历对应数据库中的表
for tb in `mysql -u$USER -h$HOST -p$PASS -e "show tables from $db;" | sed '1d'`;do
 
# 备份表
mysqldump -u$USER -h$HOST -p$PASS $db $tb | gzip -c > $BACKUP/"$db"_`date +%F`/"$tb".sql.gz
 
done
 
done
posted @ 2017-11-16 14:34  ~小学生~  阅读(258)  评论(0编辑  收藏  举报