mysql备份文件gz_将MySQL数据库备份到1个文件中,但每个数据库使用单独的.tar.gz

这样的事可能有用.它没有经过测试,但与我用于系统备份的情况略有不同.

# define common vars

OPTIONS="--verbose --lock-tables --flush-logs --force --quick --single-transaction"

AUTHFILE="/etc/mysql/rootauth.cnf"

BACKUPDIR="/srv/backup/mysql/"

BACKUPDATE=`date +"%y%m%d%H"`

# create temp folder (this isn't entirely safe, but be sure only root or backup user has

# write access here, you might want to use mktemp)

mkdir ${BACKUPDIR}/tmp/

# get a list of all the databases on the system

DBSQL="SELECT SCHEMA_NAME FROM information_schema.SCHEMATA where SCHEMA_NAME!='information_schema' \

AND SCHEMA_NAME!='performance_schema' order by SCHEMA_NAME"

DBS=`/usr/bin/mysql --defaults-extra-file=${AUTHFILE} --batch \

--skip-column-names --execute "$DBSQL"`

DBS=`echo $DBS | tr -d '\n' | sed -e "s/ \+/ /g"`

for DB in $DBS; do

# perform a per-database dump

BACKUPDIRDB="${BACKUPDIR}/tmp/${DB}"

mkdir -p ${BACKUPDIRDB}

/usr/bin/mysqldump --defaults-extra-file=${AUTHFILE} \

${OPTIONS} $DB > ${BACKUPDIRDB}/backup_${BACKUPDATE}

done

# create archive of everything

tar -czvf ${BACKUPDIR}/backup_${BACKUPDATE}.tar.gz ${BACKUPDIR}/tmp/

#remove temp files

rm -rf ${BACKUPDIR}/tmp/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值