备份mysql所有数据库的每个表的shell脚本
2016-12-06 10:44
771 查看
使用use db_name;show tables 获得所有表。脚本针对MySQL5以上版本,mysql4以下未测试,mysqldump 参数可能有变。
备份表的路径:/backup_mysql/当天日期/数据名 这个目录中。
#!/bin/bash
MYUSER="root"
MYPASS="123456"
HOST="localhost"
BACKUPDIR="/backup_mysql"
DATE=`date -I`
RETENTION=20
#MYSQLDATA="/var/lib/mysql"
[ ! -d $BACKUPDIR/$DATE ] && mkdir -p $BACKUPDIR/$DATE
DBS=`mysql -u$MYUSER -p$MYPASS -Bse "show databases"|grep -v "information_schema" |grep -v "test"`
for db_name in $DBS
do
mkdir -p $BACKUPDIR/$DATE/$db_name
tables=`mysql -u$MYUSER -p$MYPASS -Bse "use $db_name;show tables"`
for table_name in $tables
do
mysqldump -u$MYUSER -p$MYPASS -h$HOST --single-transaction --master-data=2 $db_name $table_name >$BACKUPDIR/$DATE/$db_name/$table_name.sql
done
done
原载于:联动北方
全文:http://bbs.landingbj.com/t-0-247280-1.html
备份表的路径:/backup_mysql/当天日期/数据名 这个目录中。
#!/bin/bash
MYUSER="root"
MYPASS="123456"
HOST="localhost"
BACKUPDIR="/backup_mysql"
DATE=`date -I`
RETENTION=20
#MYSQLDATA="/var/lib/mysql"
[ ! -d $BACKUPDIR/$DATE ] && mkdir -p $BACKUPDIR/$DATE
DBS=`mysql -u$MYUSER -p$MYPASS -Bse "show databases"|grep -v "information_schema" |grep -v "test"`
for db_name in $DBS
do
mkdir -p $BACKUPDIR/$DATE/$db_name
tables=`mysql -u$MYUSER -p$MYPASS -Bse "use $db_name;show tables"`
for table_name in $tables
do
mysqldump -u$MYUSER -p$MYPASS -h$HOST --single-transaction --master-data=2 $db_name $table_name >$BACKUPDIR/$DATE/$db_name/$table_name.sql
done
done
原载于:联动北方
全文:http://bbs.landingbj.com/t-0-247280-1.html
相关文章推荐
- About TortoiseGit TortoiseGit is a Windows Shell Interface to Git and based on TortoiseSVN. It's ope
- spark shell
- Linux的-bash-4.2$
- php调用shell创建的文件夹 权限问题
- 转: windows 10使用原生linux bash命令行
- Shell的九九乘法口诀
- Linux下防止程序挂掉的shell脚本
- Shell多线程操作及线程数控制实例
- curl命令使用实例
- Windows Git Bash 记住用户名密码
- shell 中的数组的使用
- 两种方法解决Linux wget报错-bash: wget command not found
- 用bash脚本创建screen并向其发送命令。
- 利用gitbash将代码传到github上
- 关于shell中函数的返回值
- shell学习笔记(一)
- echo输出多行内容到文件
- linux shell 学习(九)——函数基本使用
- Shell脚本常见问题
- shell脚本实现俄罗斯方块