使用Xtrabackup工具设置自动备份。

自动脚本:

如何使用自动备份脚本。

Xtrabackup脚本语言:
  1. 准备工作
    首先解释find命令,下面解释脚本用到参数:
	find /home/backup/ -name "mdgf_*" -mtime +6 -exec rm -rf {} \;
	#/home/backup/:在此目录下查找 -name 查找文件名的方式;
	#"mdgf_*"文件名中要求后缀是aic的所有文件;
	#-mtime +6 6天以前的文件;
	#-exec 找到后执行命令;
	#rm -rf {}命令就是删除文件;
	#\;这是格式要求无具体含义。

find命令参数(全部参数详解)
然后解释用到的xtrabackup参数,下面是完全备份语言:

innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp /home/backup/mdgf_$dt > /tmp/$log 2>&1
#--defaults-file 指定加载MySQL的配置文件位置;
#--no-timestamp 把备份放在指定的目录里;
#2>&1 使用 > 将标准输出和标准错误信息输出(打印log日志)。

下面是增量备份语言:

innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp --incremental /home/backup/mdgf_$dt --incremental-basedir=/home/backup/mdgf_$lastday > /tmp/$log 2>&1
#--incremental 指定备份方式为增量备份 后面是增量备份目录;
#--incremental-basedir 指定作为增量备份的基础数据库目录。

xtrabackup命令参数(全部参数详解)
2. mysqlback.sh脚本

#!/bin/bash
# filename :mysqlback.sh
# Author   :Li
day=`date +%w`
dt=`date +%Y%m%d`
lastday=`date -d '1 days ago' +%Y%m%d`
log=backuplog.`date +%Y%m%d`
user=root
pwd='这里写密码'
case $day in
        0)
        # 周日完全备份
        ## find 查找备份目录中6天以前的文件删除
        find /home/backup/ -name "mdgf_*" -mtime +6 -exec rm -rf {} \;
innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp /home/backup/mdgf_$dt > /tmp/$log 2>&1 ;;
        1)
        #周一增量备份周日
innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp --incremental /home/backup/mdgf_$dt --incremental-basedir=/home/backup/mdgf_$lastday > /tmp/$log 2>&1 ;;
        2)
        #周二增量备份周一
innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp --incremental /home/backup/mdgf_$dt --incremental-basedir=/home/backup/mdgf_$lastday > /tmp/$log 2>&1 ;;
        3)
        #周三完全备份
        find /home/backup/ -name "mdgf_*" -mtime +6 -exec rm -rf {} \;
innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp /home/backup/mdgf_$dt > /tmp/$log 2>&1 ;;
        4)
        #周四增量备份周三
innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp --incremental /home/backup/mdgf_$dt --incremental-basedir=/home/backup/mdgf_$lastday > /tmp/$log 2>&1 ;;
        5)
        #周五增量本分周四
innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp --incremental /home/backup/mdgf_$dt --incremental-basedir=/home/backup/mdgf_$lastday > /tmp/$log 2>&1 ;;
        6)
        #周六增量备份周五
innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$pwd --no-timestamp --incremental /home/backup/mdgf_$dt --incremental-basedir=/home/backup/mdgf_$lastday > /tmp/$log 2>&1 ;;
esac
        find /tmp -mtime +6 -type f -name 'backuplog.*' -exec rm -rf {} \;

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值