percona xtrabackupd定期做全备,增量备份shell脚本
一:全备脚本
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脚本相关推荐
- Nocatalog 下的RMAN 增量备份 shell脚本
之前整理了下catalog下全备的脚本,上次在生产库上弄了个nocatalog的脚本,结果没有在本本上保存,这次要用了,重新在整理了一下. Linux 平台下 RMAN 全备 和 增量备份 shell ...
- Linux 平台下 RMAN 全备 和 增量备份 shell 脚本
一. 一些准备知识 Oracle 分归档和非归档模式. 这两者的区别就是对redo log的处理.归档模式下,当一个redo log 写满之后,就会把这个redo log里的内容写入归档文件,等写完之 ...
- mysql数据库ftp备份_Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本...
说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的vos3000db数据库到/home/mysql_data里面,并且保存为vos3000db_bak_2012_06_30.t ...
- Mysqlbackup 8全备增量备份还原案例
Mysqlbackup 8增量备份还原图解 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. 注:1 当前验证环境CentOS 8 X8 ...
- 全备+增量备份的测试
测试内容: 1 全备份-增备 这种备份方式,在全备份和增量备份之间,产生的归档日志.在使用全备+增备进行恢复的时候,这些归档日志,会不会用到.(已通过以下案例测试) 结论: 不会用到. 另一个问题 1 ...
- Oracle全备增量备份脚本,oracle数据全备份与增量备份脚本
1.脚本名称是rman_bk_0.sh 此脚本是数据库全备脚本 设定一周执行一次 set ORACLE_BASE=/oracle (设定 oracle的 安装基目录) set ORACLE_HOME= ...
- mysql增量备份保留策略_Mysql备份策略-完成备份+增量备份shell
--dump完全备份 vi /tmp/mysql_full_bak.sh #!/bin/sh scriptsDir='pwd' mysqlDir='/usr/local/mysql' user=roo ...
- Oracle全备增量备份脚本,ORACLE-RMAN:备份脚本(全库,增量)
1.全库备份: # script:BackupFull.sh # creater:yangyuefei # date:2014/5/14 # desc:backup full database dat ...
- linux 脚本实现物理备份,shell脚本实现系统监视统计与数据备份
知识内容:*管理统计信息*执行备份*管理用户对于linux SA来说,没啥比shell脚本编程更有用的了.linux系统每天都有很多任务需要做好,从监视系统 磁盘空间.系统用户到备份系统重要文件.通过 ...
最新文章
- PTA数据结构与算法题目集(中文)7-18
- 文献记录(part91)--A boundary method for outlier detection based on support vector domain description
- 5G基站功耗,到底有多大?
- Oracle内置角色connect与resource的权限
- 移动平台深度神经网络实战
- 执行quartz报错java.lang.NoClassDefFoundError: javax/transaction/UserTransaction
- 2018ACM/ICPC 焦作网络预选赛-A Magic Mirror
- ExtJS 快速反入门指南
- java file文件大小_Java实现获取文件大小的几种方法
- “大自然的印钞机”农夫山泉如何借数藏冲破自己的“天花板”?
- 蓝桥杯嵌入式LCD显示与LED显示问题
- Camera4 MTK camera驱动结构介绍
- Android WebView支持文件下载之调起浏览器下载(Java与Kotlin版)
- java 5,8,9章复习
- 做大数据风控,需要做哪些准备?
- python课程设计——单项选择标准化考试
- 德鲁周记13--最小二乘、RANSAC与霍夫变换的区别
- 快学Scala 读书笔记之 Chapter 2、3、4(控制结构函数,数组,映射,元组)
- Java程序设计教程(第3版)雍俊海 全书例程-2
- HTML的简介、文档结构及基本标记