脚本解释
逐行解释
User="root"
: 设置 MySQL 用户名为root
。Hostip=x.x.x.x
: 设置 MySQL 服务器的 IP 地址。Passwd="x.x.x.x.x.x"
: 设置 MySQL 用户的密码。Tbname="fi_repayplan.fi_reapyplan,fi_repayplan.fi_reapyplan_bank_once,fi_repayplan.fi_reapyplan_boc,fi_repayplan.fi_reapyplan_ccb,fi_repayplan.fi_reapyplan_irr,fi_repayplan.fi_reapyplan_irrmoney,fi_repayplan.fi_reapyplan_money,fi_repayplan.fi_reapyplan_once,fi_repayplan.fi_reapyplan_oncemoney"
: 设置需要备份的表的名称列表。innobackupex --user=${User} --password=${Passwd} --host=${Hostip} --no-timestamp --include=${Tbname} --stream=tar /tmp | gzip > /data/fi_repayplan-
date +%F.tar.gz
: 这一行是备份操作的核心命令。
-
innobackupex
: 执行innobackupex
命令。 -
--user=${User}
: 使用$User
变量中的用户名登录 MySQL。 -
--password=${Passwd}
: 使用$Passwd
变量中的密码登录 MySQL。 -
--host=${Hostip}
: 指定 MySQL 服务器的 IP 地址。 -
--no-timestamp
: 不在备份文件中添加时间戳。 -
--include=${Tbname}
: 指定需要备份的表列表。 -
--stream=tar
: 将备份输出为 tar 格式。 -
/tmp
: 指定备份输出的临时目录。 -
| gzip > /data/fi_repayplan-
date +%F.tar.gz
: 将innobackupex
的输出通过gzip
压缩,并将结果保存到/data/fi_repayplan-
date +%F.tar.gz
文件中。其中date +%F
生成当前日期的格式为YYYY-MM-DD
,使得每次备份的文件名都带有当天的日期。
总结
这段脚本备份了指定的表,并将备份文件输出为 tar 格式,然后使用 gzip
压缩并保存到 /data
目录下,文件名中包含了当天的日期。这种方法适用于定期备份特定表的情况。