Mysql增量备份脚本

#!/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"

版权声明:
作者:Akiraka
链接:https://www.akiraka.net/linux/156.html
来源:Akiraka
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
Mysql增量备份脚本
#!/bin/bash # Mysql 增量备份脚本 # Make at:2017.6.22 # Writer:AKA # 可以对Mysql数据库进行增量备份 # website:www.akiraka.net #数据库账号 USER="……
<<上一篇
下一篇>>
文章目录
关闭
目 录