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 vkt > /home/webdata/mysqlbackup/mysqlbackup_log/vkt.backup

####刷新日志,生成新的日志并拷贝到相应目录下

Counter=`wc -l $BinFile |awk ‘{print $1}‘`###计算bin-log索引里面。Binlog日志数量

NextNum=0

for file in cat $BinFile`

do

base=`basename $file`获取去除./文件名称

NextNum=`expr $NextNum + 1`

if [ $NextNum -eq $Counter ]

then

echo $base skip!  >> $LogFile

else

dest=$BakDir/$base

if(test -e $dest)

then

echo  $base exist! >> $LogFile####跳过最后一个bin_log日志,因为最后一个日志正在记录中

else

cp $BinDir/$base $BakDir

echo $base copying >> $LogFile

fi

fi

done

/usr/bin/expect<<EOF

###引入expect,用于交互登录,普通shell脚本不能实现交互式,输入密码自动登录mysql

###下面是自动拷贝到备份服务器

set timeout 300;

spawn scp -r $BakDir 192.168.0.90:/sde/50_mysqlbackup

expect "*password:"

send "password\r"

sleep 1

expect 1

expect eof

EOF

时间: 2024-08-01 19:50:59

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

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 mysqldum备份脚本

本篇文章主要讲如何使用shell实现mysql全量,增量备份.增量备份在周一-周六凌晨3点,会复制mysql-bin.00000*到指定目录:而全量备份则使用mysqldump将所有的数据库导出,每周日凌晨3点执,并会删除上周留下的mysq-bin.00000*.然后对mysql的备份操作会保留在bak.log文件中.如下图: 开始:2013年05月02日 15:10:57 结束:2013年05月02日 15:12:16 20130502.sql.tgz succ是由DBFullyBak.sh产

MYSQL数据库自动本地/异地双备份/MYSQL增量备份

构建高安全电子商务网站之(网站文件及数据库自动本地/异地双备份)架构图 继续介绍Linux服务器文件备份,数据库备份,数据安全存储相关的电子商务系统架构.针对安全性有多种多样的解决方案,其中数据备份是重中之重的首要工作.电 子商务网站更加注重考虑数据安全,数据备份方案,包括本地备份.异地备份架构.其中Linux服务器的备份方案非常多,本文介绍一个大众化适用的解决方 案,通过编写Shell脚本来完成自动备份.本架构包括备份网站文件.数据库,自动本地备份并FTP上传备份脚本,完成相应本地备份.异地备

Xtrabackup每周增量备份脚本程序

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

MYSQL增量备份(日志备份)

MYSQL数据库在使用过程中,一般都需要对使用的数据库进行备份处理,对于数据量较小时可以通过mysqldump命令进行数据库全备份,但是当数据库数据量达到一定程度之后,显然增量备份更加适合. MYSQL增量备份主要通过二进制日志文件进行增量备份.mysql数据库会以二进制形式自动把用户对mysql数据库的操作记录到文件,当用户希望恢复的时候可以使用备份文件进行恢复. 本文主要介绍如何实现在本地服务器上对远程服务器的数据库文件进行在本地服务器的备份.(以下的cmd均需跳转到mysql的bin文件夹

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

Ubuntu Server下MySql数据库备份脚本代码

明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份. 实现步骤: 1.创建保存备份文件的目录:/home/mysql_datacd /home #进入目录mkdir mysql_data #创建目录2.创建备份脚本文件:/home/mysql_data/m

Mysql 数据库备份脚本

[[email protected] sbin]# more mysqlbackup.sh #If any of your tables run on InnoDB engine #directory to store backups inDST=/backup/dbback# A regex, passed to egrep -v, for which databases to ignoreIGNREG='^snort$'# The MySQL username and passwordDBU

一个mysql的备份脚本(可以结合多实例进行调整)

mysql数据库备份脚本: #!/bin/bash #定义变量信息 USER=root PASS=redhat12345   SOCKET=/data/3306/mysql.sock CMD="mysql -u$USER -p$PASS -S $SOCKET" DUMP="mysqldump --opt -u$USER -p$PASS -S $SOCKET" DES="/usr/src/mysqlbackup" BACKUPTIME="