#!/bin/bash
dateDIR=$(date -d "yesterday" +"%y-%m-%d")
mkdir -p /data/backup/mysql/binlog/$dateDIR
##刷新缓存中的日志
mysqladmin -uroot -p123456 flush-logs
#7天前的时间
TIME=$(date "-d 7 day ago" +"%Y-%m-%d %H:%M:%S")
#24小时前的时间
StartTime=$(date "-d 1 day ago" +"%Y-%m-%d %H:%M:%S")
#删除7天前的2进制文件
mysql -uroot -p123456 -e "purge master logs before '${TIME}';"
#针对每个数据库
for db in $(mysql -uroot -p123456 -e "show databases" | grep -ve "Database" -ve "mysql" -ve "test" -ve "information_schema")
do
#针对所有的日志文件
for log in $(cat /data/mysql/3306/logs/binlog/mysql-bin.index)
do
#备份每个数据库24小时之前到现在时间的所有日志,写入到相应文件中
mysqlbinlog -uroot -p123456 -d $db --start-datetime="$StartTime" ${log}>>/data/backup/mysql/binlog/$dateDIR/${db}_${dateDIR}
done
tar jcvf /data/backup/mysql/binlog/$dateDIR/${db}_${dateDIR}.tar.bz2 /data/backup/mysql/binlog/$dateDIR/${db}_${dateDIR} 2&>/dev/null
rm -rf /data/backup/mysql/binlog/$dateDIR/${db}_${dateDIR}
done
#删除30天以前的增量备份文件和目录
find /data/backup/mysql/binlog/* -mtime +29 -type d -exec rm -rf {} \;
Mysq binlog日志备份脚本
原创matthew0701 博主文章分类:脚本 ©著作权
文章标签 职场 休闲 mysql 日志 备份 脚本 文章分类 MySQL 数据库
上一篇:Mysql数据检查备份脚本
-
【Docker】Dcoker开启MySQL容器binlog日志
Dcoker开启MySQL容器binlog日志
mysql vim 日志文件 -
MySQL 8自动备份脚本密码安全警告
作者:田逸(formyz)目标需求接到一个任务,需要在凌晨四点对一个数据库进行备
mysql v8 MySQL -
mysql教程:binlog日志和数据备份
mysql binlog
mysql 数据库 数据备份 数据文件