mysqldump 指定单表备份脚本

6 篇文章 0 订阅

#!/bin/sh

mysqldump="/mysql/bin/mysqldump"
mysql_user='admin'
mysql_password='admin'
backup_dir="/app/dbbak/zb_backup"
mysql_host='10.10.10.10'
mysql_port="3330"
table_list="/app/dbbak/zb_backup/backup_table_list.txt"
log_file="/app/dbbak/zb_backup/backup.log"

while read -r line
do
   database_name=`echo ${line} | awk '{print $1}'`
   table_name=`echo ${line} | awk '{print $2}'`
   echo "`date '+%Y-%m-%d %H:%M'` Start backup DATABASE: ${database_name} TABLE: ${table_name}  " >> ${log_file}
  ${mysqldump} --single-transaction -h${mysql_host} --triggers --routines --events  --set-gtid-purged=OFF \
  -P${mysql_port} -u${mysql_user} -p${mysql_password} ${database_name}  ${table_name} |gzip > ${backup_dir}/${database_name}.${table_name}.sql.gz  

# 注意写其他的脚本时喜欢把标准输出和错误输出到日志文件中,在使用mysqldump 时标准输出就不能输出到日志了。
   if [ $? -eq 0 ];then
      echo "`date '+%Y-%m-%d %H:%M'`  DATABASE: ${database_name} TABLE: ${table_name} backup over. " >> ${log_file}
   else
      echo "`date '+%Y-%m-%d %H:%M'`  DATABASE: ${database_name} TABLE: ${table_name} backup fail. " >> ${log_file}
      continue 
    
   fi
done < ${table_list}

#table_list.txt格式

database_name  table_name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值