xtrabackup一键自动化备份脚本 【原创】

xtrabackup一键自动化备份脚本 V1 【原创】

xtrabackup备份工具安装与使用

http://990487026.blog.51cto.com/10133282/1697094

需要填写的信息

备份文件路径        backdir=/ASSET.innobackupex
mysql用来备份用户   user=root
mysql用户的密码     pass=asset
输出的信息保存路径    logfile=/var/www/html/index.html

l

[[email protected] ~]# vim innobackupex.v1.sh
[[email protected] ~]# cat innobackupex.v1.sh
#!/bin/bash
backdir=/ASSET.innobackupex
mkdir $backdir
week=`date +%u`
last=`ls $backdir  | tail -n 1`
user=root
pass=asset
logfile=/var/www/html/index.html
if [ ! -f  /globalback ]
then
    cat /dev/null > $logfile
    innobackupex --user=$user -password=$pass $backdir
    ls $backdir | tail -n 1 > /globalback
    basedir=`cat /globalback`
    echo "<br> 检测到之前没有做过全局备份,完全备份一次!<br>" >> $logfile
    echo "数据备份的位置  $backdir/$basedir <br>"  >> $logfile
    echo -n "本次全局备份使用的日志文件,截止位置信息:"  >> $logfile
    cat $backdir/$basedir/xtrabackup_binlog_info  >> $logfile
    echo -n "<br> 二进制日志文件路径"  >> $logfile
    grep "^log-bin" /etc/my.cnf  >> $logfile
exit
fi
if [ $week -eq 5 ]
then
    innobackupex --user=$user -password=$pass $backdir
    ls $backdir | tail -n 1 > /globalback
    basedir=`cat /globalback`
    echo "<br><br>今天是星期5,全局备份<br>"  >> $logfile
    echo "数据备份的位置  $backdir/$basedir <br>"  >> $logfile
    echo -n "本次全局备份使用的日志文件,截止位置信息:"  >> $logfile
    cat $backdir/$basedir/xtrabackup_binlog_info  >> $logfile
    echo -n "<br> 二进制日志文件路径"  >> $logfile
    grep "^log-bin" /etc/my.cnf  >> $logfile
else
   basedir=`cat /globalback`
   innobackupex --user=$user -password=$pass --incremental $backdir --incremental-basedir=$backdir/$basedir
    incre=`ls $backdir | tail -n 1`
    echo "<br><br>今天是星期$week,增量备份 <br>"  >> $logfile
    echo "基  本库是 $backdir$basedir <br>"  >> $logfile
    echo "上次备份是 $backdir$last <br>"  >> $logfile
    echo "本次备份是 $backdir$incre <br>"  >> $logfile
    echo -n "上次全局备份使用的日志文件,截止位置信息:"  >> $logfile
    cat $backdir/$basedir/xtrabackup_binlog_info  >> $logfile
    echo -n "<br> 本次增量备份使用的日志文件,截止位置信息:"  >> $logfile
    cat $backdir/$incre/xtrabackup_binlog_info  >> $logfile
    echo -n "<br>二进制日志文件路径"  >> $logfile
    grep "^log-bin" /etc/my.cnf  >> $logfile
fi

脚本结束

=============================================

浏览器访问效果 http://10.11.12.2/

检测到之前没有做过全局备份,完全备份一次!

数据备份的位置 /ASSET.innobackupex/2015-09-26_00-03-08

本次全局备份使用的日志文件,截止位置信息:master-bin.0000021845

二进制日志文件路径log-bin=/mydata/binlogs/master-bin

今天是星期6,增量备份

基 本库是 /ASSET.innobackupex2015-09-26_00-03-08

上次备份是 /ASSET.innobackupex2015-09-26_00-03-08

本次备份是 /ASSET.innobackupex2015-09-26_00-03-25

上次全局备份使用的日志文件,截止位置信息:master-bin.0000021845

本次增量备份使用的日志文件,截止位置信息:master-bin.0000021845

二进制日志文件路径log-bin=/mydata/binlogs/master-bin

今天是星期6,增量备份

基 本库是 /ASSET.innobackupex2015-09-26_00-03-08

上次备份是 /ASSET.innobackupex2015-09-26_00-03-25

本次备份是 /ASSET.innobackupex2015-09-26_00-06-29

上次全局备份使用的日志文件,截止位置信息:master-bin.0000021845

本次增量备份使用的日志文件,截止位置信息:master-bin.0000021845

二进制日志文件路径log-bin=/mydata/binlogs/master-bin

今天是星期6,增量备份

基 本库是 /ASSET.innobackupex2015-09-26_00-03-08

上次备份是 /ASSET.innobackupex2015-09-26_00-06-29

本次备份是 /ASSET.innobackupex2015-09-26_00-23-27

上次全局备份使用的日志文件,截止位置信息:master-bin.0000021845

本次增量备份使用的日志文件,截止位置信息:master-bin.0000021845

二进制日志文件路径log-bin=/mydata/binlogs/master-bin

今天是星期5,全局备份

数据备份的位置 /ASSET.innobackupex/2015-10-02_00-00-05

本次全局备份使用的日志文件,截止位置信息:master-bin.0000021845

二进制日志文件路径log-bin=/mydata/binlogs/master-bin

时间: 2024-12-23 04:28:50

xtrabackup一键自动化备份脚本 【原创】的相关文章

xtrabackup一键自动化备份脚本 V2 版【原创】

备份文件路径        backdir=/ASSET.innobackupex mysql用来备份用户   user=用户名 mysql用户的密码     pass=密码 输出的信息保存路径   logfile=/var/www/html/index.html [[email protected] ~]# cat innobackupex.v2.sh #!/bin/bash backdir=/ASSET.innobackupex user=用户名 pass=密码 logfile=/var/w

Xtrabackup每周增量备份脚本程序

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

xtrabackup的mysql备份脚本

一.安装xtrabackup工具 安装方法见:xtrabackup安装 二.配置备份脚本 1.拷贝mysql_backup_shell到mysql业务服务器目录,比如:/data/backup_shell/mysql_backup_shell 2.进入拷贝后mysql_backup_shell所在目录, 然后执行chmod 777 mysql_backup.sh 3.修改backup.conf 需要修改的项: mysql_conf_file=/usr/local/meb/my.cnf.3309

Oracle 自动化备份脚本

Oracle 日常RMAN备份脚本,很基础.但是对于多个需要备份的Oracle数据库,可以很简单实施,并利于后期批量状态的查询. 备份脚本,基于linux,windows环境需要适当修改.主脚本,会调用2,3步骤的rman.sql&status.sql $ more main.sh #set env #########################Change the below parameter for the different server################## expo

Xtrabackup 全量备份脚本

#!/bin/bash #备份文件的名字为当前主机的IP地址+tar.gz,例如172.16.103.1.tar.gz,且每次备份成功之后都会清空本地的备份目录. #相关目录 mkdir -p /xtrabackup/mysql back_dir="/xtrabackup/mysql" backfilename=`ip add | grep "inet" | grep 172 |grep brd |awk -F / '{print $1}' | awk -F&quo

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

Rehat一键安装mysql脚本和备份数据库脚本

Rehat一键安装mysql脚本 ##说明:适用,Rehat 5 6 7 1.运行状态,运行成功输出mysql临时密码 2.代码如下 #!/bin/bash #获取系统信息 sudo cat /etc/issue>myfile aa=sudo grep '5.' myfile bb=sudo grep '6.' myfile cc=sudo grep '7.' myfile echo $aa echo "It is a test" > myfile #获取系统信息 sudo

用shell脚本自动化备份数据库

防伪码:防止误删系统数据库,定时备份你我更安心! 使用shell脚本自动化备份数据库 一.简介 系统数据库如图所示(以MySQL5.5为例) 1.information_schema:信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息.在information_schema中,有数个只读表.它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件. 2.mysql:MySQL的的核心数据库,类似于SQLServer中的master表,主要负责存储数据库的用户.权限

关于通过linux crontab+xtrabackup自动化备份mysql数据的说明

1.xtrabackup备份的时候可能没有问题,但是如果放到crontab中执行的时候可能会有执行不成功的时候,错误示例如下 innobackupex: Error: mysql child process has died: sh: mysql: command not found 解决方法1: ln -s /usr/local/mysql/bin/mysql/usr/bin/mysql 解决办法2: 在备份脚本中引入环境变量 source /etc/profile