mysql数据库备份shell脚本---直接拿来用的shell脚本

mysql数据库备份shell脚本—直接拿来用的shell脚本
经过我的一次次的尝试,脚本优化后写出来这个脚本给大家使用
使用中遇到问题的可以留言联系方式解答

#!/bin/bash
#auto bakcup mysql db
#by authprs hanwei  2019/12/03
#describe:备份多个数据库只需要在对应的目录建一个只含有数据库库名的mysql.list再执行脚本就行了
########################   定义&变量   ###################################
date=`date +"%Y-%m-%d"`
BAK_DIR=/data/mysql_backup/   #目录
#MYSQLDB='cat ./mysql.list'		#数据库名
MYSQLUSR=root	#用户名
MYSQPASSWD=123456		#密码
MYSQLCMD=/usr/local/mysql/bin/mysqldump 	#调用的数据库命令 
########################  开始  ###############################
#判断用户是否为超级用户。
if [ $UID -ne 0 ];then
	echo "请使用超级用户。"
	exit
fi

#判断MySQL数据库的备份目录目录是否存在。
if [ ! -d $BAK_DIR ];then
	mkdir -p $BAK_DIR
	echo -e "\033[32m $BAK_DIR 目录创建成功!\033[0m"
else
	echo -e "\033[32m $BAK_DIR 已存在!\033[0m"
fi

#备份MySQL数据库的命令。
#命令格式为 -u用户 -p密码 -d指定的数据库
for database in `cat ${BAK_DIR}/mysql.list`
do
	$MYSQLCMD -u${MYSQLUSR} -p${MYSQPASSWD} -x ${database} > $BAK_DIR/${date}.${database}.sql
	#检查是否备份成功。
	if [ $? -eq 0 ];then
		echo -e "\033[32m 备份$database 成功!\033[0m"
	else
		echo -e "\033[32m 备份$database 失败,请检查...\033[0m"
		rm -rf $BAK_DIR/${date}.${database}.sql
	fi
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值