innobackup增量备份脚本

参考涂抹mysql里的脚本,做了下改进

[[email protected] scripts]$ cat mysql_full_backup_by_xtra.sh

#!/bin/sh

# Created by wk

DATA_PATH=/data/mysqldata/backup/mysql_full

DATA_FILE=${DATA_PATH}/xtra_fullbak_`date +%Y%m%d%H%M`

LOG_FILE=${DATA_PATH}/xtra_fullbak_`date +%Y%m%d%H%M`.log

ORI_CONF_FILE=/data/mysqldata/3306/my.cnf

NEW_CONF_FILE=${DATA_PATH}/my_3306_`date +%Y%m%d%H%M`.cnf

MYSQL_PATH=/data/mysqldata/backup/innobackupex/bin

MYSQL_CMD="${MYSQL_PATH}/innobackupex --user=root --password=pass1
--defaults-file=/data/mysqldata/3306/my.cnf --no-lock --no-timestamp
${DATA_FILE}"

echo > $LOG_FILE

echo -e "==== Jobs started at `date +%F‘ ‘%T‘ ‘%w` ====\n" >> $LOG_FILE

echo -e "==== First cp my.cnf file to backup directory ====" >> $LOG_FILE

/bin/cp ${ORI_CONF_FILE} ${NEW_CONF_FILE}

echo >> $LOG_FILE

#echo -e "**** Executed command:${MYSQL_CMD} | gzip > ${DATA_FILE}" >> $LOG_FILE

${MYSQL_CMD} 2>>${LOG_FILE}

echo -e "**** Executed finished at `date +%F‘ ‘%T‘ ‘%w` ====" >> $LOG_FILE

echo -e "**** Backup file size: `du -sh ${DATA_FILE}` ====\n" >> ${LOG_FILE}

echo -e "---- Find expired backup and delete those files ----" >> ${LOG_FILE}

for tfile in $(/usr/bin/find $DATA_PATH/ -mtime +6)

do

if [ -d $tfile ] ; then

rmdir $tfile

elif [ -f $tfile ] ; then

rm -f $tfile

fi

echo -e "---- Delete tfile: $tfile ----" >> ${LOG_FILE}

done

echo -e "\n==== Jobs ended at `date +%F‘ ‘%T‘ ‘%w` ====\n" >> $LOG_FILE

echo "backup_full=${DATA_FILE}" >/data/mysqldata/scripts/backup.conf

echo "backup_pre_name=${DATA_FILE}" >>/data/mysqldata/scripts/backup.conf

[[email protected] scripts]$ cat mysql_incr_backup_by_xtra.sh

#!/bin/sh

# Created by wk

source /data/mysqldata/scripts/backup.conf

DATA_PATH=/data/mysqldata/backup/mysql_full

DATA_FILE=${DATA_PATH}/xtra_incrbak_`date +%Y%m%d%H%M`

#OLD_DATA_FILE=${DATA_PATH}/xtra_fullbak_`date -d "1 days ago" +"%F"`

LOG_FILE=${DATA_PATH}/xtra_incrbak_`date +%Y%m%d%H%M`.log

ORI_CONF_FILE=/data/mysqldata/3306/my.cnf

NEW_CONF_FILE=${DATA_PATH}/my_3306_`date +%Y%m%d%H%M`.cnf

MYSQL_PATH=/data/mysqldata/backup/innobackupex/bin

MYSQL_CMD="${MYSQL_PATH}/innobackupex --user=root --password=pass1
--defaults-file=/data/mysqldata/3306/my.cnf --incremental --no-lock
--no-timestamp

--incremental-basedir=${backup_pre_name} ${DATA_FILE}"

echo > $LOG_FILE

echo -e "==== Jobs started at `date +%F‘ ‘%T‘ ‘%w` ====\n" >> $LOG_FILE

echo -e "==== First cp my.cnf file to backup directory ====" >> $LOG_FILE

/bin/cp ${ORI_CONF_FILE} ${NEW_CONF_FILE}

echo >> $LOG_FILE

echo -e "**** Executed command:${MYSQL_CMD} | gzip > ${DATA_FILE}" >> $LOG_FILE

${MYSQL_CMD} 2>>${LOG_FILE}

echo -e "**** Executed finished at `date +%F‘ ‘%T‘ ‘%w` ====" >> $LOG_FILE

echo -e "**** Backup file size: `du -sh ${DATA_FILE}` ====\n" >> ${LOG_FILE}

echo -e "---- Find expired backup and delete those files ----" >> ${LOG_FILE}

for tfile in $(/usr/bin/find $DATA_PATH/ -mtime +6)

do

if [ -d $tfile ] ; then

rmdir $tfile

elif [ -f $tfile ] ; then

rm -f $tfile

fi

echo -e "---- Delete tfile: $tfile ----" >> ${LOG_FILE}

done

echo -e "\n==== Jobs ended at `date +%F‘ ‘%T‘ ‘%w` ====\n" >> $LOG_FILE

echo "backup_full=${DATA_FILE}" >/data/mysqldata/scripts/backup.conf

echo "backup_pre_name=${DATA_FILE}" >>/data/mysqldata/scripts/backup.conf

[[email protected] scripts]$ cat backup.conf

backup_full=/data/mysqldata/backup/mysql_full/xtra_incrbak_201609011805

backup_pre_name=/data/mysqldata/backup/mysql_full/xtra_incrbak_201609011805

时间: 2024-11-29 06:59:01

innobackup增量备份脚本的相关文章

Xtrabackup全量备份/增量备份脚本

一.全量备份脚本 1.全量备份脚本 #!/bin/bash #Description:xtrabackup complete #Author:created by michael #2017-08-07 v0.1 # USER=root PASSWD=123456 BACKUP_DIR=/backup/mysql/complete DATE=$(date +"%F_%T") [[ -d $BACKUP_DIR ]] || mkdir $DATE_DIR innobackupex --u

svn dump增量备份脚本

svn 增量备份脚本, 环境:系统,centos6.5,svn version 1.6.11,httpd Apache/2.2.15 (Unix) APR 1.3.9, APR-Util 1.3.9,全部为yum编译 一些常用命令 svn ls -v /opt/svn/snn                  查看svn目录文件列表 svn --version                      查看svn版本 svnadmin create /opt/svn/snn          

Xtrabackup每周增量备份脚本程序

Xtrabackup每周增量备份脚本程序(含附件) 程序描述 本程序是一个对percona xtrabackup使用的脚本,它完成了MySQL每周的备份. 程序结构 此程序包含了4个目录(bin.conf.log.var): bin:存放运行备份的主脚本程序(*.sh). conf:存放着程序运行的配置文件变量(*.conf). log:存放的是备份时xtrabackup的输出内容(*.log). var:存放了索引文件(*.index)和错误记录文件(*.err). *.index:每当备份成

Python 生产环境Mysql数据库增量备份脚本

Mysql数据库常用的办法是通过mysqldump导出sql进行备份,但是不适合数据量很大的数据库,速度,锁表是两个严重的问题.前面写了一遍blog介绍xtrabackup的热备工具.下面的脚本是基于xtrabackup实现自动备份数据库的功能. 需求描述: 每天晚上23点,对数据库进行一次完整备份.第二天0-22点,每小时进行一次增量备份.每次备份前把上次的完整备份和23次增量备份移动到指定目录里,保留7天的数据. ps:不要问我,为什么是23点执行完整备份,0点不更好处理吗?bingo,这是

mysql全库备份/增量备份脚本

http://hongge.blog.51cto.com/ 生产环境中Mysql数据库的备份是周期性重复的操作,所以通常是要编写脚本实现,通过crond计划任务周期性执行备份脚本 mysqldump备份方案: 周日凌晨1点全库备份 周一到周六凌晨每隔4个小时增量备份一次 设置crontab任务,每天执行备份脚本 # crontab –e #每个星期日凌晨1:00执行完全备份脚本 0 1 * * 0 /root/mysqlfullbackup.sh >/dev/null 2>&1 #周一

度量系统服务端文件本地异地差异备份(增量备份)脚本示例

度量产品部署好服务端后,因为服务端有各类封装加密的附件,文件等资料,为保障数据安全,除了建立高可用性的备份机制外,我们可以通过批处理脚本,结合到系统计划进行本地或异地备份,为考虑容量情况,也可以采用增量备份进行.下面代码是一个示例批处理脚本,可以按照自己的思路编写简单而强大的服务端备份策略: @echo offREM ************************************************************REM *服务端文件增量备份,每年的数据保存在DestDir

oracle rman 增量备份脚本

采用0112111增量备份策略,7天一个轮回 也就是周日0级备份,周1 2 4 5 6 采用2级增量备份,周3采用1级增量备份 配置控制文件备份路径 RMAN > CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/rmanbk/ccontrolfile_%F'; 数据备份目录 $ mkdir -p /u01/backup/rmanbk 首先将过期天数设为7天 RMAN> CONFIGURE

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

相信很多做运维的小伙伴都会用到mysql数据库,以下提供一个脚本与诸君分享. #!/bin/bashSCRIPT_DIR=$(dirname $0)BACKUP_DIR="/data1/mysqlbackup"BACKUP_DAYS=480rm -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:&q

mysql增量备份脚本

#!/bin/bash BakDir=/home/webdata/mysqlbackup/mysqlbackup_log/ BinDir=/home/mysql/var/ LogFile=/home/webdata/mysqlbackup/mysqlbackup_log/bak.log BinFile=/home/mysql/var/mysql-bin.index mysqldump -udearedu -p --lock-tables --flush-logs --master-data=1