MYSQL备份脚本(支持备份多个数据库)

本文提供了一个bash脚本,用于在MySQL服务器上备份多个以统一前缀(如prod_sql)标识的数据库。脚本通过`mysqldump`命令压缩并存储备份,同时定期清理过期的备份文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MYSQL备份脚本(支持备份多个数据库)

用于备份MYSQL数据库的备份脚本,支持备份多个数据库,注意的是数据库需要统一的前缀。

#!/usr/bin/env bash
# Date    : 2020-04-28 18:33:57
# Author  : master (master95271@protonmail.com)
# Link    : https://www.gov-cn.cn/about
# Introduction: MYSQL Database Backup Script
# PS: Database with multiple uniform prefixes can be backed up, for example: prod_sql1, prod_sql2

MYSQL_HOST="mysql_ip"
MYSQL_USER="backup_user"
MYSQL_PWD="user_passwd"
MYSQL_DB="backup_databases"

gzip="/bin/gzip -9 "
date=`/bin/date '+%Y%m%d-%H%M'`
bakdir="/data/mysql_backup/"

if ! which gzip &>/dev/null; then yum install -y gzip;fi

if [ ! -d "$bakdir" ];then
  mkdir -p "$bakdir"
fi

for db_name in `mysql -h${MYSQL_HOST} -u${MYSQL_USER} -p${MYSQL_PWD} -e "show databases;" | grep ${MYSQL_DB}`
do
    mysqldump -h${MYSQL_HOST} -u${MYSQL_USER} -p${MYSQL_PWD} $db_name | $gzip > $bakdir/$db_name-$date.sql.gz
done

# Delete more than 10 days
/usr/bin/find ${bakdir} -mtime +10  -exec rm -rf {} \;

echo "Done..."

---------------------------------------------- END -------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值