mysql数据库innodb存储引擎备份脚本

#!/bin/bash

# author: movekj

# descript: backup mysql. full backup in sunday,incremental backup in other day.(for Innodb Store Engine)

# version: 0.0.1

### DEFINE VARIABLES

PATH="/usr/java/latest/bin:/usr/lib64/qt-3.3/bin:/usr/java/latest/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"

BackupUser=backuper

BackupPassword=.......1

WorkPath=/home/backup

LogPath=/home/backup/log/

FullBackupPath=/home/backup/full/

IncreBackupPath=/home/backup/incre/

DayOfWeek=`date +%u`

WeekOfYear=`date +%W`

Date=`date +%F`

### DEFINE FUNCTION

CreateBackupPath() {

if [ ! -d $1$2 ]

then

mkdir -p $1$2 && echo -e "`date` \033[31m$1$2 is create successful!\033[0m"#>> $LogPath$WeekOfYear/backup_$Date.log

fi

}

DeleteOldBackup() {

BackupNum=`ls $1 | wc -l`

if [ $BackupNum -gt 3 ]

then

OldBackupNum=$[$BackupNum-3]

OldBackup=`ls -t $1 | tail -$OldBackupNum`    ### FIND OLD BACKUP

for I in $OldBackup

do

rm -rf $1$I && echo "`date` $1$I is deleted!"  >> ${LogPath}backup_delete.log

done

fi

}

Delete() {

DeleteOldBackup $FullBackupPath    ### DELETE OLD FULL BACKUP

DeleteOldBackup $IncreBackupPath   ### DELETE OLD INCREMENTAL BACKUP

#DeleteOldBackup $LogPath          ### DELETE OLD LOG FILE

}

CreateBackupPath $LogPath $WeekOfYear      ### CREATE BACKUP LOG PATH

CreateBackupPath $FullBackupPath $WeekOfYear   ## CREATE FULL BACKUP PATH

CreateBackupPath $IncreBackupPath $WeekOfYear    ### CREATE INCREMENTAL BACKUP PATH

### START PROGRESS

if [ $DayOfWeek -eq 1 ]

then

innobackupex --user=$BackupUser --password=$BackupPassword $FullBackupPath$WeekOfYear 2>> $LogPath$WeekOfYear/Full_backup_$Date.log >> $LogPath$WeekOfYear/Full_backup_$Date.log

if [ $? -eq 0 ]

then

Delete

fi

elif [ $DayOfWeek -eq 2 ]

then

NewestFullBackup=`ls -t $FullBackupPath$WeekOfYear | head -1`    ### FIND NEWEST FULL BACKUP

innobackupex --user=$BackupUser --password=$BackupPassword --incremental --incremental-basedir=$FullBackupPath$WeekOfYear/$NewestFullBackup $IncreBackupPath$WeekOfYear 2>> $LogPath$WeekOfYear/Incre_backup_$Date.log >> $LogPath$WeekOfYear/Incre_backup_$Date.log

if [ $? -eq 0 ]

then

Delete

fi

else

NewestIncreBackup=`ls -t $IncreBackupPath$WeekOfYear | head -1`    ### FIND NEWEST INCREMENTAL BACKUP

innobackupex --user=$BackupUser --password=$BackupPassword --incremental --incremental-basedir=$IncreBackupPath$WeekOfYear/$NewestIncreBackup $IncreBackupPath$WeekOfYear 2>> $LogPath$WeekOfYear/Incre_backup_$Date.log >> $LogPath$WeekOfYear/Incre_backup_$Date.log

if [ $? -eq 0 ]

then

Delete

fi

fi

©著作权归作者所有:来自51CTO博客作者18601962480的原创作品,如需转载,请注明出处,否则将追究法律责任

mysql备份更换存储引擎_mysql数据库innodb存储引擎备份脚本相关推荐

  1. MySQL数据库锁构建_MySQL数据库InnoDB存储引擎中的锁机制

    00 – 基本概念 当并发事务同时访问一个资源的时候,有可能导致数据不一致.因此需要一种致机制来将访问顺序化. 锁就是其中的一种机制.我们用商场的试衣间来做一个比喻.试衣间供许多消费者使用.因此可能有 ...

  2. mysql查询数据库存储引擎_MySQL数据库存储引擎

    存储引擎就是指表类型,数据库存储引擎决定了表在计算机中的存储方式. 1,查询mysql数据库支持的存储引擎类型:SHOW ENGINES \G("\G"的作用是让结构显示的更加美观 ...

  3. 1009MySQL数据库InnoDB存储引擎Log漫游

    00 – Undo Log Undo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC). - 事务的原子性(Atom ...

  4. mysql 5.7 存储引擎_mysql5.7——innodb存储引擎总结

    一.innodb初探: 1.MySQL日志文件: ①:slow.log 文件会记录慢查询日志,当一条语句执行时间超过在配置参数long_query_time中指定的值时,这条语句就会被记录在这个文件中 ...

  5. mysql数据库物理备份_MySQL数据库之xtrabackup物理备份(一)

    (1)备份开始时会开启一个后台检测进程,实时检测mysql redo(已提交的事务)的变化,一旦发现redo中有新日志写入,立刻将日志记入后台日志文件xtrabackup_log中, (2)复制Inn ...

  6. 宋利兵 mysql_MySQL数据库InnoDB存储引擎Log漫游(3)

    做者:宋利兵html 来源:MySQL代码研究(mysqlcode)mysql 0.导读 本文重点介绍了InnoDB的checkpoint和Buffer Pool管理算法 04 – Checkpoin ...

  7. linux mysql 实战_Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06

    Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06 视频教程学习地址 Oracle/MySQL数据库学习专用QQ群:336282998.189070296 学完风哥本课程能熟悉 ...

  8. mysql中两种备份方法的优缺点_Mysql两种存储引擎的优缺点

    MyISAM引擎是一种非事务性的引擎,提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用.MyISAM中,一个table实际保存为三个文件,.frm存储表定义,.MYD存储数据,.MY ...

  9. mysql使用混合引擎如何,mysql – 使用MyISAM和InnoDB引擎的数据库的一致逻辑备份...

    我有一个关于MySQL数据库的逻辑备份的问题 同时使用MyISAM和InnoDB. mysqldump实用程序支持以下两个选项: > –single-transaction – 通过转储单个事务 ...

最新文章

  1. 接上一篇配置多仓库相关命令
  2. 弹出显示多条的message对话框
  3. python 工资管理软件_基于[Python]的员工管理系统
  4. 超线程_超线程加核显 i310100+梅捷H410超值爆款组合
  5. 6759: 异或序列
  6. 编写声卡驱动(框架)
  7. c语言 段位,C语言 段位
  8. Android 三星手机不能调起应用市场
  9. Docker配置Dockerfile中关键ENTRYPOINT和CMD命令详解
  10. 为什么 Kubernetes 是微服务发展的必然产物?
  11. 如何将数据渲染到页面上?
  12. matlab中Current Folder的修改
  13. linux rm、rm -f、rm -r的区别
  14. 手机加密聊天软件功能文档(基于android系统)
  15. PI3HDX12211ZHEX DIODES/美台 TQFN42 hdmi视频开关芯片
  16. 以太坊EVM动态数组越界导致OOM分析
  17. Word轻松粘贴代码
  18. KVM虚拟化技术(在Centos虚拟机里部署Centos虚拟机)
  19. 虚拟化特性(二)华为虚拟化产品特性
  20. 第十六章 使用系统监视器 - 系统监视器默认值

热门文章

  1. 如何让文字溢出自动变成省略号
  2. Android开发面试题之遍历ViewGroup拿到所有的ViewGroup和View的id
  3. 从ipa文件中导出图片
  4. IOS设备唯一标示符的方案比较
  5. 猪行天下之Python基础——1.1 Python开发环境搭建
  6. watch监听vuex内部数据变化
  7. Hibernate学习之Hibernate注解总结
  8. git 添加review的相关操作
  9. SSH-Struts第四弹:Struts2学习过程中遇到的问题
  10. php 命令行方式运行时 几种传入参数的方式