【mysqldump】备份脚本使用【shell】数组变量
xixuefeng
Linux, MySQL, MySQL-DEV, Shell
2022-03-23 17:02:17
475 次浏览
【mysqldump】备份脚本使用【shell】数组变量已关闭评论
需求:MySQL备份脚本,备份某数据库中的部分表
mysqldump备份部分表,脚本如下:
1 |
mysqldump test t1 t3 t7 > dump.sql |
由于,表很多,如果表名都写在备份脚本上,那么会很长,也不便于修改和调试。
利用shell的数据变量,可以很方便的解决这个问题。
shell中定义数组:
1 |
array_name=(value0 value1 value2 value3) |
使用数组变量
1 2 3 |
valuen=${array_name[n]} ## 注:n是下角标,比如想返回第一个变量,可以写成valuen=${array_name[1]} ## 也使用 @ 符号可以获取数组中的所有元素,例如:echo ${array_name[@]} |
部分备份脚本如下:
1 2 3 4 5 6 7 8 9 |
#!/bin/bash dbname=xxf tabname=(tab1 tab2 tab3 tab4 tab5) host=192.168.30.88 port=3306 username=bakuser pwd=oracle mysqldump -h${host} --user=${username} --password=${pwd} --opt --default-character-set=utf8 --databases=${dbname} --tables=${tabname[@]} | gzip > ${BackDIR}/${dbname}${curDate}.sql.gz |