简单的mysql数据库备份脚本

本文介绍了一种使用Shell脚本实现MySQL数据库备份的方法。通过定时任务自动执行脚本,可以将指定数据库的数据导出为SQL文件,并压缩存档。该脚本支持多种日期格式的备份文件命名,并会在备份完成后清理临时文件。

#!/bin/bash
MYSQLUSERNAME=root
MYSQLDBPASSWORD=123456
MYSQLBASEDIR=/home/mysql
MYSQL=$MYSQLBASEDIR/bin/mysql
MYSQLDUMP=$MYSQLBASEDIR/bin/mysqldump
BACKDIR=/root/dbbak
DATEFORMATTYPE1=$(date +%Y-%m-%d)
DATEFORMATTYPE2=$(date +%Y%m%d%H%M%S)
#RCHIVE=`tar -zcf $BACKDIR/${DBNAME}_bak${DATEFORMATTYPE2}.sql`
[ -d $MYSQLBASEDIR ] && MYSQLDATADIR=$MYSQLBASEDIR/data/ || MYSQLDATADIR =/var/lib/mysql
#MYSQLDATADIR=$MYSQLBASEDIR/data/
[ -x $MYSQL ] || MYSQL=mysql
[ -x $MYSQLDUMP ] || MYSQLDUMP=mysqldump
[ -d ${BACKDIR} ] || mkdir -p ${BACKDIR}
[ -d ${BACKDIR}/${DATEFROMATTYPE1} ] || mkdir ${BACKDIR}/${DATEFROMATTYPE1}
#DBLIST= `ls -p $MYSQLDATADIR | grep / | tr -d /`
DBLIST=`ls -p $MYSQLDATADIR | grep / |tr -d /`
for DBNAME in $DBLIST
do
${MYSQLDUMP} -u${MYSQLUSERNAME} -p${MYSQLDBPASSWORD} ${DBNAME} >> $BACKDIR/${DBNAME}_bak${DATEFORMATTYPE2}.sql
cd ${BACKDIR}
tar -zcf ${DBNAME}_bak${DATEFORMATTYPE2}.sql.tar.gz ${DBNAME}_bak${DATEFORMATTYPE2}.sql -C ${BACKDIR} && rm -rf ${DBNAME}_bak${DATEFORMATTYPE2}.sql
[ $? -eq 0 ] && echo "${DBNAME} has been backuped successful" || echo "${DBNAME} has been backup failed"
/bin/sleep 5

转载于:https://www.cnblogs.com/a255/p/7156031.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值