mysql备份脚本

MySQL备份脚本

复制代码
#!/bin/bash
# MySQL连接参数
MYSQL_USER=root
MYSQL_PASSWORD="xxxxxxx"
# 备份目录
BACKUP_DIR=/home/mysql_backup
# 要备份的数据库列表(空格分隔)
DB1=testdb1
DB2=mysql
##如果有需要过滤的备份的表



# 保留天数
DAYS_TO_KEEP=7
# 当前日期
DATE=$(date +%Y%m%d)
# 创建备份目录
mkdir -p $BACKUP_DIR/$DATE
# 记录日志
echo "$(date +'%Y-%m-%d %H:%M:%S') - Backup Start" > $BACKUP_DIR/logs/backup-$DATE.log

# 备份数据库 DB1=testdb
echo ---backup $DB1  >> $BACKUP_DIR/logs/backup-$DATE.log
mysqldump --single-transaction --set-gtid-purged=off --master-data=2 --routines --triggers --events -u$MYSQL_USER -p$MYSQL_PASSWORD $DB1 | gzip > $BACKUP_DIR/$DATE/$DB1-full-$DATE.sql.gz

send=`date '+%Y-%m-%d %H:%M:%S'`
if [ $? -ne 0 ];
then
    echo "$send $DB1 数据备份失败" >> $BACKUP_DIR/logs/backup-$DATE.log
    exit -1
else
    echo "$send $DB1 数据备份成功!" >> $BACKUP_DIR/logs/backup-$DATE.log
fi

# 备份数据库 DB2=mysql
echo ---backup $DB2  >> $BACKUP_DIR/logs/backup-$DATE.log
mysqldump --single-transaction --set-gtid-purged=off --master-data=2 --routines --triggers --events -u$MYSQL_USER -p$MYSQL_PASSWORD $DB2 | gzip > $BACKUP_DIR/$DATE/$DB2-full-$DATE.sql.gz

send=`date '+%Y-%m-%d %H:%M:%S'`
if [ $? -ne 0 ];
then
    echo "$send $DB2 数据备份失败" >> $BACKUP_DIR/logs/backup-$DATE.log
    exit -1
else
    echo "$send $DB2 数据备份成功!" >> $BACKUP_DIR/logs/backup-$DATE.log
fi

# 删除旧备份
find $BACKUP_DIR -type d -mtime +$DAYS_TO_KEEP -exec rm -rf {} \;

# 记录日志
echo "$(date +'%Y-%m-%d %H:%M:%S') - Backup End" >> $BACKUP_DIR/logs/backup-$DATE.log
相关推荐
是一个Bug13 小时前
MySQL 核心知识梳理:从底层原理到实战优化
mysql
s_nshine13 小时前
释放C盘,迁移studio相关数据到其他盘
android·windows·android studio·内存·c盘
minji...13 小时前
MySQL数据库 (四) MySQL的数据类型,tinyint,float,decimal,枚举enum和集合set
数据库·mysql·tinyint·enum·decimal·varchar·bit
韩曙亮13 小时前
【Flutter】Flutter 中的 Android / iOS 特殊配置 ① ( 网络权限配置 | HTTP 明文传输配置 | 应用名称配置 )
android·网络·flutter·http·ios·网络权限
_李小白13 小时前
【android opencv学习笔记】Day 31:提取轮廓之Canny算法
android·opencv·学习
hashiqimiya14 小时前
每日android布局xml文件
android·xml·gitee
todoitbo14 小时前
从 MySQL 到 KingbaseES:Database、Schema、User 一次讲透
数据库·mysql·国产数据库·kingbasees
m0_7381207215 小时前
渗透测试基础——PHP 序列化数据结构与反序列化机制详解
android·服务器·网络·数据结构·安全·php
千云15 小时前
100w大表0停机回滚:我们为什么放弃Undo Log,选择表名切换?
数据库·后端·mysql