|
在mysql中用mysqldump命令备份数据时,如果排除掉某些不想要的表的方法。 测试用的数据库为restdb来举例吧,备份时要求排除掉 snmp_query_graph_rrd_sv表和 rra表。
首先,把需要备份的表列出来: mysql -u root restdb -e "show tables;" | awk '!/rra/&&!/snmp_query_graph_rrd_sv/'
[root@nodec 02]# mysql -u root restdb -e "show tables;" | awk '!/rra/&&!/snmp_query_graph_rrd_sv/'
那两个表没了,可是Tables_in_restdb还在,没关系,加上即可:
mysql -u root restdb -e "show tables;" | awk '!/Tables_in_restdb/&&!/rra/&&!/snmp_query_graph_rrd_sv/'
现在变量有了,下面开始写备份脚本了。
#!/bin/bash
i=`mysql -u root restdb -e "show tables;" | awk '!/Tables_in_restdb/&&!/rra/&&!/snmp_query_graph_rrd_sv/'` mysqldump -u root restdb $i >> ufo.sql
方法2,使用for循环
#!/bin/bash
i=`mysql -u root restdb -e "show tables;" | awk '!/Tables_in_restdb/&&!/rra/&&!/snmp_query_graph_rrd_sv/'` for k in $i do mysqldump -u root restdb $k >> ufo.sql done
保存为back_mysql.sh,加上+x可执行权限即可运行了。 |
用户登录
还没有账号?立即注册
用户注册
投稿取消
| 文章分类: |
|
还能输入300字
上传中....
且过G