mysql分库备份脚本
#!/bin/bash
user=root
pass=Admin@2022
backfile=/root/mysql_backup/ #备份文件存放路径
[ ! -d $backfile ] && mkdir -p $backfile #判断备份路径是否存在,如果不存在则创建它
cmd="mysql -u$user -p$pass" #登录数据库
dump="mysqldump -u$user -p$pass " #备份参数
dblist=`$cmd -e "show databases;" 2>/dev/null |sed 1d |egrep -v "_schema|mysql"` #获取库名列表
echo "需要备份的数据列表:"
echo $dblist
echo "开始备份:"
for db_name in $dblist #for循环备份库列表
do
printf '正在备份数据库:%s' ${db_name}
$dump $db_name 2>/dev/null |gzip >${backfile}/${db_name}_$(date +%Y%m%d).sql.gz #库名+时间备份打包至指定路径下
printf ',备份完成\n'
done
echo "全部完成!!!"