首页 > 数据库技术 > 详细

mysqldump 备份时排除某些表的脚本

时间:2014-08-27 12:25:27      阅读:362      评论:0      收藏:0      [点我收藏+]

我们有个数据库用 mysqldump备份 后来备份的速度越来越慢,备份文件也越来越大。检查的时候发现有两个表非常大而且没有必要备份,所以决定备份这个库的时候排除他们两个。可是mysqldump可没有排除某个表这个选项,那么就用shell脚本来实现吧!
   我这里就用cactidb来举例吧,我这里不备份 snmp_query_graph_rrd_sv表和 rra表,先把需要备份的表列出来,这样写
mysql -u root cactidb -e "show tables;" | awk ‘!/rra/&&!/snmp_query_graph_rrd_sv/‘

[root@nodec 02]# mysql -u root cactidb -e "show tables;" | awk ‘!/rra/&&!/snmp_query_graph_rrd_sv/‘
Tables_in_cactidb
cdef
cdef_items
colors
.....
那两个表没了,可是Tables_in_cactidb还在,没关系,加上就好了
mysql -u root cactidb -e "show tables;" | awk ‘!/Tables_in_cactidb/&&!/rra/&&!/snmp_query_graph_rrd_sv/‘
好了,现在变量有了,下面就是具体的备份了
写个脚本 sql.sh 内容如下
#!/bin/bash
i=`mysql -u root cactidb -e "show tables;" | awk ‘!/Tables_in_cactidb/&&!/rra/&&!/snmp_query_graph_rrd_sv/‘`
mysqldump -u root cactidb $i >> ufo.sql
还有一种方法 就是用for循环 如下
i=`mysql -u root cactidb -e "show tables;" | awk ‘!/Tables_in_cactidb/&&!/rra/&&!/snmp_query_graph_rrd_sv/‘`
for k in $i
    do mysqldump -u root cactidb $k >> ufo.sql
done

好了,给个X 权限执行以下吧,别忘了最好加上绝对路径~~
是不是很简单 O(∩_∩)O~

mysqldump 备份时排除某些表的脚本

原文:http://www.cnblogs.com/riont/p/3938916.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!