mysql5.7_xtraBackup_备份脚本

# 备份脚本XtraBackup.sh:

#!/bin/bash
# filename : XtraBackup.sh
# Author : 00000
day=date +%w
dt=date +%Y%m%d
lastday=date -d ‘1 days ago‘ +%Y%m%d
user=backupuser
log=backuplog.date +%Y%m%d

case $day in
0)
# Monday Relatively Sunday‘s incremental backup
sudo innobackupex --defaults-file=/etc/my.cnf --login-path=$user --no-timestamp --incremental --backup --incremental-basedir=/data/backup/xtrainc$lastday /data/backup/xtrainc$dt > /tmp/$log 2>&1
;;
1)
# Sunday Full backup
sudo find /data/backup/ -name "xtra_" -mtime +6 -exec rm -rf {} \;
sudo innobackupex --defaults-file=/etc/my.cnf --login-path=$user --no-timestamp --backup /data/backup/xtrabase$dt > /tmp/$log 2>&1
;;
2)
# Saturday Compared with Friday‘s incremental backup
sudo innobackupex --defaults-file=/etc/my.cnf --login-path=$user --no-timestamp --incremental --backup --incremental-basedir=/data/backup/xtrabase$lastday /data/backup/xtrainc$dt > /tmp/$log 2>&1
;;
3)
# Tuesday Compared with Monday‘s incremental backup
sudo innobackupex --defaults-file=/etc/my.cnf --login-path=$user --no-timestamp --incremental --backup --incremental-basedir=/data/backup/xtrainc$lastday /data/backup/xtrainc$dt > /tmp/$log 2>&1
;;
4)
# Friday Compared with Thursday‘s incremental backup
sudo innobackupex --defaults-file=/etc/my.cnf --login-path=$user --no-timestamp --incremental --backup --incremental-basedir=/data/backup/xtrainc$lastday /data/backup/xtrainc$dt > /tmp/$log 2>&1
;;
5)
# Wednesday Full backup
sudo find /data/backup/ -name "xtra_
" -mtime +6 -exec rm -rf {} \;
sudo innobackupex --defaults-file=/etc/my.cnf --login-path=$user --no-timestamp --backup /data/backup/xtrabase$dt > /tmp/$log 2>&1
;;
6)
# Thursday Relatively Wednesday‘s incremental backup
sudo innobackupex --defaults-file=/etc/my.cnf --login-path=$user --no-timestamp --incremental --backup --incremental-basedir=/data/backup/xtrabase$lastday /data/backup/xtrainc$dt > /tmp/$log 2>&1
;;
esac
sudo find /tmp -mtime +6 -type f -name ‘backuplog.*‘ -exec rm -rf {} \;

原文地址:https://blog.51cto.com/1054054/2472909

时间: 2024-08-30 02:58:44

mysql5.7_xtraBackup_备份脚本的相关文章

mysql分库备份脚本

#!/bin/bash #created by yangqiqi 2017-08-24 #创建备份用户 #grant select,lock tables,reload,super,file,show view on *.* to 'mysqlbackup'@'localhost' identified by 'my_password'; #grant execute on *.* to 'mysqlbackup'@'localhost' identified by 'my_password';

WEB页面,WEB环境版本,数据库,整站备份脚本

#!/bin/bash # #WEB页面,WEB环境版本,数据库,整站备份脚本 #当发生某个原因导致整个服务器无法恢复时,利用上面备份的相关数据即可重做一台一样的服务器 date_a=`date +%Y%m%d-%H%M%S` mkdir -p /web_bak/${date_a}/conf &> /dev/null mkdir -p /web_bak/${date_a}/web &> /dev/null mkdir -p /web_bak/${date_a}/mysql &a

mysql备份脚本

对extmail数据库进行每天01:00完全热备份,并可以完全恢复! 一.先建立备份脚本,如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 vi mysql_extmail_bak.sh #!/bin/bash # Program #    use mysqldump to Fully backup mysql data per week! BakDir=/mysqlback#要备份到的目录 LogFile=/var/log/bak.log#备份记录日志

linux 自动备份脚本

首先我在/root/backup 目录下建立一个文件夹, #mkdir /root/backup/mysqlbackup 以后在每天五点钟,就会有一个文件保存在这里. 接着新建文件 #vim /root/mysqlautobak 输入: filename=` date +%Y%m%d ` mysqldump --all-databases -uroot -p(mysql密码)> /root/backup/mysqlbackup/mysql$file.sql 保存退出! 让它可以执行 #chomd

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

分享一个MySQL分库分表备份脚本(原)

分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上时间方便整理 2.取数据库:抓取数据库名称,我用的awk和grep配合取数据库的名称(如果想按照表备份可以再细化一下)注意要用mysql -e选项 这样才能做成脚本 3.系统环境变量:因为用到了函数,所以非系统内置的命令 最好在脚本里面用 . /etc/profile  把系统当前的环境变量传过来

mysql数据库备份脚本

自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #20170329 #Define PATH定义变量 BAKDIR=/data/backup/mysql/`date +%Y-%m-%d` MYSQLDB=webapp MYSQLPW=backup MYSQLUSR=backup #must use root user run scripts 必须使用root用户运行,$UID为系统变量 if

mysql 备份脚本以及定时任务

数据是企业最宝贵的资源,作为运维人员备份数据库的数据是特别重要的一项工作,以下是个人查找资料以及个人总结所记录的mysql数据库备份脚本,记录在此作为学习和复习笔记. (1)分库备份脚本 #/bin/sh #version 0.1 MYUSER=root MYPASS=123123 #SOCKET=/data/3306/mysql.sock MYLOGIN="mysql -u$MYUSER -p$MYPASS " MYDUMP="mysqldump -u$MYUSER -p$

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 #周一