一:全备脚本

cat xtrabackup_full.sh

#!/bin/bash

local_ip="$(/sbin/ifconfig eth0|grep 'inet addr'|awk -F : '{print $2}'|cut -d ' ' -f1)"

email='pingping1990429@163.com'

user='root'

passwd='system@123'

my_config='/etc/my.cnf'

log=$(date +%Y%m%d%H%M).log

str=$(date +%Y%m%d%H%M).tar.gz

backup_dir='/backup/MySQL/xtrabackup'

source='pingping1990429@163.com'

target='yabingshi@163.com'

title='xtrabackup information'

MailUser='pingping1990429'

MailPassword='jyp20100'

content1='Server_name:'$(hostname)' Server_ip:'$local_ip' '$(date +"%y-%m-%d %H:%M:%S")' mysql full backup Success!'

content2='Server_name:'$(hostname)' Server_ip:'$local_ip' '$(date +"%y-%m-%d %H:%M:%S")' mysql full backup Faild!'

echo "Start to backup at $(date +%Y%m%d%H%M)"

if [ ! -d "$backup_dir" ];then

mkdir -p $backup_dir

fi

#innobackupex --defaults-file=$my_config --user=$user --password=$passwd  --database=$database --stream=tar $backup_dir 2>$backup_dir/$log | gzip 1>$backup_dir/$str

innobackupex --defaults-file=$my_config --user=$user --password=$passwd   $backup_dir

if [ $? -eq 0 ];then

echo "Backup is finish! at $(date +%Y%m%d%H%M)"

echo "Server_name:$(hostname) Server_ip:$local_ip $(date +"%y-%m-%d %H:%M:%S") mysql full backup Success!"

/usr/local/bin/sendEmail -f $source -t $target  -s smtp.163.com -u $title -xu $MailUser -xp $MailPassword -m $content1

exit 0

else

echo "Backup is Fail! at $(date +%Y%m%d%H%M)"

echo "Server_name:$(hostname) Server_ip:$local_ip $(date +"%y-%m-%d %H:%M:%S") mysql full backup Fail!"

/usr/local/bin/sendEmail -f $source -t $target  -s smtp.163.com -u $title -xu $MailUser -xp $MailPassword -m $content2

exit 1

fi

echo "Backup Process Done"

二:增量备份

[root@single download]# cat xtrabackup_incremental.sh

#!/bin/bash

#增量备份依赖于前一天的备份,所以假如前一天备份失败,后续的也会失败

local_ip="$(/sbin/ifconfig eth0|grep 'inet addr'|awk -F : '{print $2}'|cut -d ' ' -f1)"

email='pingping1990429@163.com'

user='root'

passwd='system@123'

my_config='/etc/my.cnf'

log=$(date +%Y%m%d%H%M).log

str=$(date +%Y%m%d%H%M).tar.gz

backup_dir='/backup/mysql/xtrabackup'

source='pingping1990429@163.com'

target='yabingshi@163.com'

title='xtrabackup information'

MailUser='pingping1990429'

MailPassword='jyp20100'

content1='Server_name:'$(hostname)' Server_ip:'$local_ip' '$(date +"%y-%m-%d %H:%M:%S")' mysql incremental backup Success!'

content2='Server_name:'$(hostname)' Server_ip:'$local_ip' '$(date +"%y-%m-%d %H:%M:%S")' mysql incremental backup Faild!'

last_day=$(date -d "1 days ago" +%Y-%m-%d)

today=$(date +%Y%m%d)

filename=$(find $backup_dir -name "$last_day*" -print|awk -F / '{print $NF}')

echo "Start to backup at $(date +%Y%m%d%H%M)"

if [ ! -d "$backup_dir" ];then

mkdir -p $backup_dir

fi

#innobackupex --defaults-file=$my_config --user=$user --password=$passwd   --stream=tar $backup_dir 2>$backup_dir/$log | gzip 1>$backup_dir/$str

innobackupex --defaults-file=$my_config --user=$user --password=$passwd   --incremental $backup_dir --incremental-basedir=$backup_dir/$filename

if [ $? -eq 0 ];then

echo "Backup is finish! at $(date +%Y%m%d%H%M)"

echo "Server_name:$(hostname) Server_ip:$local_ip $(date +"%y-%m-%d %H:%M:%S") mysql incremental backup Success!"

/usr/local/bin/sendEmail -f $source -t $target  -s smtp.163.com -u $title -xu $MailUser -xp $MailPassword -m $content1

exit 0

else

echo "Backup is Fail! at $(date +%Y%m%d%H%M)"

echo "Server_name:$(hostname) Server_ip:$local_ip $(date +"%y-%m-%d %H:%M:%S") mysql incremental backup Fail!"

/usr/local/bin/sendEmail -f $source -t $target  -s smtp.163.com -u $title -xu $MailUser -xp $MailPassword -m $content2

exit 1

fi

echo "Backup Process Done"

三:结合crontab来实现自动备份

0 0 * * 0 /download/xtrabackup_full.sh>> /download/xtrabackup_full.log 2>&1  
0 0 * * 1-6 /download/xtrabackup_incremental.sh>>/download/xtrabackup_incremental.log 2>&1

本文出自http://blog.csdn.net/yabingshi_tech/article/details/50992236

转载于:https://blog.51cto.com/lookingdream/1905750

percona xtrabackupd定期做全备,增量备份shell脚本相关推荐

  1. Nocatalog 下的RMAN 增量备份 shell脚本

    之前整理了下catalog下全备的脚本,上次在生产库上弄了个nocatalog的脚本,结果没有在本本上保存,这次要用了,重新在整理了一下. Linux 平台下 RMAN 全备 和 增量备份 shell ...

  2. Linux 平台下 RMAN 全备 和 增量备份 shell 脚本

    一. 一些准备知识 Oracle 分归档和非归档模式. 这两者的区别就是对redo log的处理.归档模式下,当一个redo log 写满之后,就会把这个redo log里的内容写入归档文件,等写完之 ...

  3. mysql数据库ftp备份_Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本...

    说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的vos3000db数据库到/home/mysql_data里面,并且保存为vos3000db_bak_2012_06_30.t ...

  4. Mysqlbackup 8全备增量备份还原案例

    Mysqlbackup 8增量备份还原图解 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. 注:1 当前验证环境CentOS 8 X8 ...

  5. 全备+增量备份的测试

    测试内容: 1 全备份-增备 这种备份方式,在全备份和增量备份之间,产生的归档日志.在使用全备+增备进行恢复的时候,这些归档日志,会不会用到.(已通过以下案例测试) 结论: 不会用到. 另一个问题 1 ...

  6. Oracle全备增量备份脚本,oracle数据全备份与增量备份脚本

    1.脚本名称是rman_bk_0.sh 此脚本是数据库全备脚本 设定一周执行一次 set ORACLE_BASE=/oracle (设定 oracle的 安装基目录) set ORACLE_HOME= ...

  7. mysql增量备份保留策略_Mysql备份策略-完成备份+增量备份shell

    --dump完全备份 vi /tmp/mysql_full_bak.sh #!/bin/sh scriptsDir='pwd' mysqlDir='/usr/local/mysql' user=roo ...

  8. Oracle全备增量备份脚本,ORACLE-RMAN:备份脚本(全库,增量)

    1.全库备份: # script:BackupFull.sh # creater:yangyuefei # date:2014/5/14 # desc:backup full database dat ...

  9. linux 脚本实现物理备份,shell脚本实现系统监视统计与数据备份

    知识内容:*管理统计信息*执行备份*管理用户对于linux SA来说,没啥比shell脚本编程更有用的了.linux系统每天都有很多任务需要做好,从监视系统 磁盘空间.系统用户到备份系统重要文件.通过 ...

最新文章

  1. PTA数据结构与算法题目集(中文)7-18
  2. 文献记录(part91)--A boundary method for outlier detection based on support vector domain description
  3. 5G基站功耗,到底有多大?
  4. Oracle内置角色connect与resource的权限
  5. 移动平台深度神经网络实战
  6. 执行quartz报错java.lang.NoClassDefFoundError: javax/transaction/UserTransaction
  7. 2018ACM/ICPC 焦作网络预选赛-A Magic Mirror
  8. ExtJS 快速反入门指南
  9. java file文件大小_Java实现获取文件大小的几种方法
  10. “大自然的印钞机”农夫山泉如何借数藏冲破自己的“天花板”?
  11. 蓝桥杯嵌入式LCD显示与LED显示问题
  12. Camera4 MTK camera驱动结构介绍
  13. Android WebView支持文件下载之调起浏览器下载(Java与Kotlin版)
  14. java 5,8,9章复习
  15. 做大数据风控,需要做哪些准备?
  16. python课程设计——单项选择标准化考试
  17. 德鲁周记13--最小二乘、RANSAC与霍夫变换的区别
  18. 快学Scala 读书笔记之 Chapter 2、3、4(控制结构函数,数组,映射,元组)
  19. Java程序设计教程(第3版)雍俊海 全书例程-2
  20. HTML的简介、文档结构及基本标记

热门文章

  1. 重排序、hb、ConcurrentHashMap弱一致性(jdk1.6)
  2. linux的bash与sh的区别
  3. selectepoll
  4. WIN10下Java环境变量配置
  5. 部署软件RDMA的步骤
  6. VC操作Excel文件编程相关内容总结
  7. mysql性能优化学习笔记-存储引擎
  8. Hrefer教程【超越官方】
  9. [新手学3D]Width 和 Pitch(Direct3D 9)
  10. python学习干货教程(5):#!/usr/bin/python