`

mysql 增量备份脚本

阅读更多

根据网上脚本修改而成

mysqlFullBackup.sh

#!/bin/bash

scriptsDir=/opt/shells
mysqlDir=/opt/app/mysql
user=root
userPWD=
dataBackupDir=/opt/db-backup
eMailFile=$dataBackupDir/email.txt
eMail=niyunjiu@test.com
logFile=$dataBackupDir/mysqlbackup.log
DATE=`date "+%Y%m%d"`
echo "" > $eMailFile
echo $(date +"%y%m%d %H:%M:%S") >> $eMailFile
cd $dataBackupDir
dumpFile=dongao-all$DATE.sql

GZDumpFile=dongao-all$DATE.sql.tar.gz
cd $dataBackupDir

$mysqlDir/bin/mysqldump -u$user -p$userPWD --skip-opt --master-data=2 --flush-logs --single-transaction --add-drop-table --create-options --quick --extended-insert=true --default-character-set=utf8 --disable-keys --triggers -R --databases test  discuz supesite > $dumpFile


if [[ $? == 0 ]]; then

  gzip $dumpFile >> $eMailFile 2>&1

  echo "BackupFileName:$GZDumpFile" >> $eMailFile

  echo "DataBase Backup Success!" >> $eMailFile
fi



#  cd $dataBackupDir/daily

#  rm -f *


find /opt/db-backup -name "dongao*.gz" -mtime +10 -type f | xargs rm -rf



echo "--------------------------------------------------------" >> $logFile

cat $eMailFile >> $logFile


cat $eMailFile | mail -s "MySQL Full Backup" $eMail

 

mysqlDailyBackup.sh

 

#!/bin/bash
#
scriptsDir=/opt/shells
mysqlDir=/opt/app/mysql
dataDir=$mysqlDir/var
user=root
userPWD=
dataBackupDir=/opt/db-backup
dailyBackupDir=$dataBackupDir/daily
eMailFile=$dataBackupDir/email.txt
eMail=maintain@test.com
logFile=$dataBackupDir/mysqlbackup.log
HOSTNAME=`uname -n`
echo "" > $eMailFile
echo $(date +"%y%m%d %H:%M:%S") >> $eMailFile
$mysqlDir/bin/mysqladmin -u$user -p$userPWD flush-logs
cd $dataDir
fileList=`cat mysql-bin.index`
iCounter=0
for file in $fileList
do
  iCounter=`expr $iCounter + 1`
done
nextNum=0
iFile=0
for file in $fileList
do
  binLogName=`basename $file`
  nextNum=`expr $nextNum + 1`
# 跳过最后一个二进制日志(数据库当前使用的二进制日志文件)
  if [[ $nextNum == $iCounter ]]; then
    echo "Skip lastest!" > /dev/null
  else
    dest=$dailyBackupDir/$binLogName
# 跳过已经备份的二进制日志文件
    if [[ -e $dest ]]; then
      echo "Skip exist $binLogName!" > /dev/null
    else
# 备份日志文件到备份目录
      rsync -a $binLogName $dailyBackupDir
      if [[ $? == 0 ]]; then
        iFile=`expr $iFile + 1`
        echo "$binLogName Backup Success!" >> $eMailFile
      fi
    fi
  fi
done
chmod -R +r $dailyBackupDir
if [[ $iFile == 0 ]];then
  echo "No Binlog Backup!" >> $eMailFile
else
  echo "Backup $iFile File(s)." >> $eMailFile
  echo "Backup MySQL Binlog OK!" >> $eMailFile
fi
cat $eMailFile | mail -s "MySQL Daily Backup" $eMail
echo "--------------------------------------------------------" >> $logFile
cat $eMailFile >> $logFile
 
分享到:
评论

相关推荐

    Mysql增量备份脚本

    根据公司生产nysql服务器要求,在网上学习写的Mysql增量备份脚本,已实践!!!

    MySQL完整备份和增量备份脚本

    mysql完整备份和增量备份脚本,本文档采用mysqldump 对数据库进行备份,mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法,...

    mysql增量备份LIUNX脚本

    本文将详细介绍一个适用于Linux环境下的MySQL增量备份脚本,该脚本能够有效地实现MySQL数据库的增量备份。 #### 二、增量备份原理 增量备份是指只备份自上次备份以来发生改变的数据。与完全备份相比,增量备份占用...

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

    本文将详细讲解MySQL的增量备份与全量备份,并提供在Windows和Linux环境下执行备份的脚本。 全量备份是数据库备份的基础,它会备份数据库中的所有数据,包括表结构、数据以及日志等。在MySQL中,可以使用mysqldump...

    mysql增量备份的相关脚本

    mysql当中,增量备份的部分的代码学习,仅供参考!

    docker环境下的mysql数据库自动备份脚本

    docker环境下的mysql数据库自动备份脚本,配置到系统定时任务中,能够每天自动全库或者指定实例备份数据库,删除七天前的旧备份。

    Windows下Mysql自动备份数据脚本

    1.备份MySQL到指定的目录。 2.支持压缩备份。无需安装压缩软件支持CAB压缩备份。或者安装RAR软件,支持RAR压缩备份。 3.支持备份日志。可以了解哪些数据库没有备份成功。 4.支持保留多少次备份。也就是删除多少次...

    Windows下MySql数据库增量全量备份

    总结起来,Windows下MySQL数据库的备份策略通常结合`mysqldump`进行全量备份和`mysqlbinlog`进行增量备份,以实现高效且节省空间的备份方案。同时,通过编写批处理脚本,可以自动化这些过程,确保数据安全并降低管理...

    mysql全备份及增量备份及还原脚本

    下面是一个简单的MySQL备份脚本示例,包括全备和增量备份: ```bash #!/bin/bash # 定义变量 USER="root" PASSWORD="123456" HOST="localhost" DATABASE="mydb" BACKUP_DIR="/path/to/backup" # 全备份 mysqldump...

    windows mysql 增量备份

    最近项目需要要对mysql数据库进行备份。此脚本实现了MYSQL的增量备份。 修改文件后缀以及参数信息就可用。

    mysql增量备份及断点恢复脚本实例

    MySQL增量备份和断点恢复是数据库管理中至关重要的技术,特别是在生产环境中,因为数据库误操作是难以避免的。增量备份允许我们仅备份自上次备份以来发生更改的数据,从而显著减少备份所需的时间和存储空间。而断点...

    mysql全库备份增量备份脚本

    `mysql全库备份增量备份脚本`涉及到了MySQL数据库管理和维护的核心环节,包括全量备份与增量备份,利用`mysqldump`和`xtrabackup`工具实现高效备份,并通过邮件发送功能确保备份的可追踪性。这些备份策略和自动化...

    mysql数据备份脚本

    `mysql数据备份脚本` 提供了一种自动化的方式来确保数据库的定期备份,即使面临意外的数据丢失,也能通过备份轻松恢复。这里我们将深入探讨 MySQL 数据备份的重要性、备份方法以及如何创建一个 `bat` 脚本来实现自动...

    mysql完整备份和增量备份脚本.docx

    该文档提供的是一个用于MySQL数据库备份的Bash脚本,它主要包含了两个功能:完整备份(wan)和增量备份(zeng)。以下是对脚本中涉及的MySQL备份技术及相关概念的详细说明: 1. **完整备份**:在MySQL中,完整备份...

    mysql完整备份和增量备份脚本.pdf

    MySQL数据库的备份是确保数据安全和可恢复性的重要步骤,本脚本主要涉及两种类型的备份:完整备份和增量备份。完整备份是指备份整个数据库或所有选定的数据库,而增量备份则仅备份自上次备份以来发生更改的数据。 ...

    mysql备份脚本.rar

    本文将详细解析“mysql备份脚本.rar”压缩包中的内容,包括在Windows和Linux操作系统中如何利用脚本来进行MySQL数据库的备份。 1. **MySQL备份的重要性** 数据库备份是为了防止意外数据丢失,如硬件故障、软件错误...

    MySQL(Docker) 自动备份 Shell 脚本

    今天这个备份分二个版本一个是linux上直接安装的mysql,另一种是docker上安装的mysql。基本操作都一样只是备份sql语句不同而已。可以选择设置需要备份的库,自动备份压缩,自动删除 7 天前的备份,需要使用 crontab ...

    Mysql增量备份和整体备份

    在上述示例中,增量备份脚本依赖于上一次的整体备份,仅备份自指定时间点以来的新增或修改的数据。 1. 需要输入数据库名称(DBNAME)和上次备份后的起始时间(USERDATETIME)。 2. 定义备份目录(BACKUPDIR),需要...

    mysql mysqldump数据备份和增量备份

    以下是一个简单的增量备份脚本示例: ```bash #!/bin/bash BakDir=/home/mysql/backup/daily BinDir=/home/mysql/data LogFile=/home/mysql/backup/bak.log BinFile=/home/mysql/data/mysql-bin.index /usr/local/...

    mysql(完整、增量)备份与还原

    MySQL数据库在日常运维中扮演着至关重要的角色,因此掌握如何进行完整备份、增量备份与还原是每个IT专业人员必备的技能。在这个主题中,我们将深入探讨如何使用Java来实现这些功能。 首先,让我们理解什么是数据库...

Global site tag (gtag.js) - Google Analytics