Akiraka Akiraka
  • 首页
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • 大数据
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • 微服务
    • Kubernetes
    • Helm
  • Other
  • Quark
  • 首页
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • 大数据
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • 微服务
    • Kubernetes
    • Helm
  • Other
  • Quark
首页 › Linux › Mysql增量备份脚本

Mysql增量备份脚本

Akiraka1年前
#!/bin/bash
# Mysql 增量备份脚本
# Make at:2017.6.22
# Writer:AKA
# 可以对Mysql数据库进行增量备份
# website:www.akiraka.net

#数据库账号
USER="root"
#数据库密码
PASSWD="password"
#Mysql数据文件夹路径
MY_BIN_DIR=/data/mysql
#备份消息日志文件夹
MY_LOG_DIR=/usr/local/mysql/logs
#数据备份文件夹
MY_BAK_DIR=/data/mysqlbackup
#mysqladmin位置
MY_CMD=/usr/local/mysql/bin/mysqladmin
#时间格式为2017-06-22-12:13:14
DATE=`date +%Y-%m-%d-%H:%M:%S`

#判断Mysql 日志文件夹是否存在,不存在创建一个
test -d ${MY_LOG_DIR} || mkdir ${MY_LOG_DIR}
#判断Mysql 备份文件夹是否存在,不存在创建一个
test -d ${MY_BAK_DIR} || mkdir ${MY_BAK_DIR}

##这个是用于产生新的mysql-bin.00000*文件
$MY_CMD -u$USER -p$PASSWD flush-logs

if [[ $? = 0 ]];then
  #查询Mysql数据文件夹路径中有没有mysql-bin.数字的文件
  MY_BINLOG=`find $MY_BIN_DIR -type f -cmin -1 -name "mysql-bin.[0-9]*"`
  echo -e "\033[36m 数据库增量备份成功 $DATE \033[0m"
  echo -e "\033[35m 增量备份二进制文件为: $MY_BINLOG \033[0m"
  echo -e "$DATE 数据库增量备份成功 二进制文件是:$MY_BINLOG " >> $LOGS/logs
else
  echo -e "\033[31m 数据增量备份失败 $DATE \033[0m"
  echo "$DATE 数据库增量备份失败 请尽快做出相应的处理" >> $LOGS/logs
fi

# 增量备份生成的二进制文件只能从$BINARY复制到$TARGET_DIR目录下,不能mv 也不能删除原文件,不然下次增量备份生成的二进制文件就从mysql-bin.000001开始了。
COPY=`find $MY_BIN_DIR -type f -name "mysql-bin.[0-9]*"`
yes | cp -rf $COPY $MY_BAK_DIR 1>/dev/null 2>&1 && echo -e  "\033[31m 此次增量备份的二进制文件为$MY_BINLOG \033[0m"
#linux#shell
0
分享
Akiraka 站长
文章 121评论 10
相关文章
  • Docker 修改默认存储路径
  • Centos/Ubuntu Linux 系统 根目录扩容方法
  • 搭建 Redis 主从搭建配置
  • Ubuntu 与 Centos Vim 配置
  • Docker 常用命令
Akiraka
站长
本人擅长 Ai、Au、Fl、Ae、Pr、Ps 等软件的安装与卸载,精通 CSS、JavaScript、PHP、Python、Shell、Go 等单词的拼写,熟悉 Windows、Linux、Mac、Android、IOS 等系统的开关机!
121文章
10评论
47获赞
想找什么搜一下
文章聚合
RocketMQ 集群容器编排单机主从
7月前
nextcloud.conf 重写规则
1年前
Jenkins Docker Compose
7月前
Grails+Gradle+Maven+NodeJs 环境变量
1年前
hue 报错
1年前
微信小程序
微信小程序
标签云
brew cdh centos cmd docker docker compose elasticsearch elk filebase filebeat gitlab grafana hadoop helm hive hue jdk jenkins k8s kibana kubernetes liniux linux logstash mac mikrotik mydumper mysql nfs nginx openssl oss php pip pyspark python RabbitMQ redis rocketmq shell Spark ubuntu windows ZooKeeper 容器编排
Copyright © 2019-2021 Akiraka. Designed by nicetheme. 沪18036911号