mysql二进制日志增量备份脚本
2019/10/10/17:36:09 阅读:1814 来源:谷歌SEO算法 标签:
自媒体
本文章给大家分享一个mysql5.5的二进制日志增量备份脚步代码,这个我只是写了代码,如果要定时备份计划任务来操作,代码如下:
- #!/bin/bash
- #定义用户名及密码
- host=
- user=
- userPWD=
- #定义数据库
- database=
- mysqladmin-h$host-u$userflush-logs
- daily_databakDir=/backdir
- #定义MYSQL数据目录
- mysqlDataDir=/mysql5.5/data
- eMailFile=$daily_databakDir/email.txt
- #eMail=
- DATE=`date+%Y%m%d%H%M%S`
- logFile=$daily_databakDir/mysql$DATE.log
- #echo"">$eMailFile
- #echo"-----------------------">>$eMailFile
- #echo$(date+"%y-%m-%d%H:%M:%S")>>$eMailFile
- #echo"-------
- #
- #------------------">>$eMailFile
- TIME=$(date"-d40dayago"+%Y%m%d%H%M%S)
- StartTime=$(date-d"-60minute"+"%Y-%m-%d%H:%M:%S")
- echo“Delete40daysbeforethelog”>>$eMailFile
- mysql-h$host-u$user-e"purgemasterlogsbefore${TIME}"&&echo"delete40daysbeforelog"|tee-a$eMailFile#删除10天前的2进制文件
- filename=`cat$mysqlDataDir/mysql-bin.index|awk-F"/"'{print$2}'`#2进制文件
- foriin$filename
- do
- #echo"$StartTimestartbackupbinlog">>$eMailFile
- mysqlbinlog-h$host-u$user-d$database--start-datetime="$StartTime"$mysqlDataDir/$i>>$daily_databakDir/daily$DATE.sql|tee-a$eMailFile
- done
- if[$?=0]
- then
- #删除mtime>32的增量日志备份文件
- find$daily_databakDir-name"*.log"-typef-mtime+32-execrm{};>/dev/null2>&1
- cd$daily_databakDir
- tar-cvzf$daily_databakDir/$database$DATE.tar.gzdaily$DATE.sql
- #>>/dev/null2&1
- #scp至另一台服务器
- echo"Dailybackupsucceed">>$eMailFile
- else
- echo"Dailybackupfail">>$eMailFile
- #mail-s"MySQLBackup"$eMail<$eMailFile#备份失败之后发送邮件通知
- fi
- cat$eMailFile>$logFile
- --phpfensi.com
- #删除mtime>32的增量日志备份文件
- find$daily_databakDir-name"*.log"-typef-mtime+32-execrm{};>/dev/null2>&1
热门评论