使用xtrabackup进行数据库备份周日全量+日增量备份脚本

相信很多做运维的小伙伴都会用到mysql数据库,以下提供一个脚本与诸君分享。

#!/bin/bash
SCRIPT_DIR=$(dirname $0)
BACKUP_DIR="/data1/mysqlbackup"
BACKUP_DAYS=480
rm -rf ${BACKUP_DIR}/*
DB_IP=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk ‘{print $2}‘|tr -d "addr:" |head -1`
BACKUP_TYPE=‘xtra_full‘
for i in `ps -ef |grep port= |grep -v grep|cut -d "=" -f 10`
do 
DB_PORT=$i
NEW_DIR="/data1/mysqlbackup/${DB_PORT}"
if [ -e "$NEW_DIR" ]
 then
    echo  "$NEW_DIR was created"
else
    mkdir $NEW_DIR
fi
BACKUP_TODAY="/data1/mysqlbackup/${DB_PORT}/${DB_IP}_`date +%Y%m%d%H%M`"

#find ${BACKUP_DIR} -mindepth 2 -type d -cmin +${BACKUP_DAYS} -exec rm -rf {} \;

/usr/bin/mysql -h127.0.0.1 -P${DB_PORT} -uroot -e"GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO ‘mysqlbackup‘@127.0.0.1 IDENTIFIED BY ‘abc123‘"
/usr/bin/mysql -h127.0.0.1 -P${DB_PORT} -uroot -e"grant replication slave on *.* to [email protected]‘10.37.53.%‘ identified by ‘密码‘"
/usr/bin/mysql -h127.0.0.1 -P${DB_PORT} -uroot -e"grant all on *.* to [email protected]‘10.37.53.%‘ identified by ‘密码‘"
/usr/bin/mysql -h127.0.0.1 -P${DB_PORT} -uroot -e"grant all on *.* to [email protected]‘127.0.0.1‘ identified by ‘密码‘"

innobackupex --user=mysqlbackup --password=abc123 --host=127.0.0.1  --port=${DB_PORT}  --defaults-file=/etc/mysql/my${DB_PORT}.cnf --no-timestamp   $BACKUP_TODAY 2>/var/log/mysql${DB_PORT}.log

时间: 2024-10-06 08:02:28

使用xtrabackup进行数据库备份周日全量+日增量备份脚本的相关文章

MySQL5.7.18 备份、Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份,数据导入导出

粗略介绍冷备,热备,温暖,及Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份 --备份的目的 灾难恢复:意外情况下(如服务器宕机.磁盘损坏等)对损坏的数据进行恢复和还原保证数据不丢失,最小程度地丢失需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 --备份与恢复概述 根据备份的方法可以分为: 1.Hot Backup(热备) 2.Cold Backup(冷备) 3.Warm Backup(温备) Hot Backup是指

Python实现目录文件的全量和增量备份

目标: 1.传入3个参数:源文件路径,目标文件路径,md5文件 2.每周一实现全量备份,其余时间增量备份 1.通过传入的路径,获取该路径下面的所有目录和文件(递归) 方法一:使用os.listdir 代码如下: #!/usr/bin/env python #coding:utf8 import os,sys def lsdir(folder): contents = os.listdir(folder) print "%s\n%s\n" % (folder, contents) for

MySQL 全量及增量备份,基于xtrabackup 2.3.5

昨天一个pgp加密盘坏了,东西全丢了...,我的笔记啊!我咋怎么2呢.. 备份个脚本吧,方便以后手机查看,话说我都快忘记帐号密码了 备注:脚步恢复时只能恢复到备份前的状态,如果需要恢复到当前状态,还需配合binlog,睡觉就这样 #!/bin/sh #################################################### # AUTHOR : JusonSummer # # VERSION : V1.0.0 # # DATE : 2016-08-13 # # CO

oracle 备份:全量、增量、0级、1级、差分、增量

2015-11-18 全量备份=0级增量备份 第1次1级差分增量备份=第1次1级累积增量备份 第2次1级差分增量备份<第2次1级累积增量备份 全量备份.增量备份.0级增量备份.1级增量备份.差分增量备份.累积增量备份 RMAN> backup database format '/u01/app/oracle/backup/full_%u.bak'; RMAN> backup incremental level 0 database format '/u01/app/oracle/back

svn全量和增量备份详解

1.svn的安装: yum安装: yum install -y subversion mkdir /data/svn svnadmin create project-1 svnadmin create project-2 用统一配置方法: cp authz passwd  /data/svn cp svnserve.conf /data/svn vim svnserve.conf 修改: anon-access = read  #匿名用户可读 auth-access = write   #授权用

Mysql使用innobackupex在线备份方案(全量+增量)操作记录

在日常的linux运维工作中,对mysql数据库的备份是非常重要的一个环节.关于mysql的备份和恢复,比较传统的是用mysqldump工具.今天这里介绍下另一款mysql备份工具innobackupex,利用它对mysql做全量和增量备份,仅仅依据本人实战操作做一记录,如有误述,敬请指出~ 一.innobackupex的介绍Xtrabackup是由percona开发的一个开源软件,是使用perl语言完成的脚本工具,能够非常快速地备份与恢复mysql数据库,且支持在线热备份(备份时不影响数据读写

Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录

在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据. 线上数据库备份场景:每周日执行一次全量备份,然后每天下午1点执行MySQLdump增量备份. 下面对这种备份方案详细说明下:1.MySQLdump增量备份配置执行增量备份的前提条件是MySQL打开binlog日志功能,在my.cnf中加入log-bin=/opt/Data/MySQL-bin"log-bin="后的字符串为日志记载目录,一般建议放在不同于MySQL数据目录的磁盘

关于Subversion主从备份方式的调整(全量、增量脚本)更新

本文引用于http://blog.chinaunix.net/uid-25266990-id-3369172.html 之前对Subversion服务器作了迁移,关于SVN的架构也走了调整,有单一的服务器改为主从备份的方式.在"subversion迁移过程中增量备份脚本"中提到了增量备份的方式,但是运行一段时间,发现备份出错,提示导入的文件已存在,于是重新检查,修改了脚本.现在一直稳定运行着. 今天重新回顾,发现了之前文章很多错误的地方,对文章作了更新,附上Subsection 全量和

MySQL数据库之Percona全量增量备份与恢复

一.概述: mysqldump是由MySQL-Commiunity提供的MySQL数据库备份的工具,但是只能用于全量备份,如果要实现增量备份需要基于binlog日志实现. 本文介绍使用第三方软件Percona提供的命令innobackupex做全量备份.增量备份以及恢复的方法.percona-xtrabackup主要是有两个工具,其中一个是xtrabackup,专门用于备份InnoDB表,另一个是innobackupex,是前者封装后的一个perl脚本,同时支持备份InnoDB和MyISAM.在