mysql二进制日志增量备份脚本

本文章给大家分享一个mysql5.5的二进制日志增量备份脚步代码,这个我只是写了代码,如果要定时备份计划任务来操作,代码如下:

  1. #!/bin/bash
  2. #定义用户名及密码
  3. host=
  4. user=
  5. userPWD=
  6. #定义数据库
  7. database=
  8. mysqladmin-h$host-u$userflush-logs
  9. daily_databakDir=/backdir
  10. #定义MYSQL数据目录
  11. mysqlDataDir=/mysql5.5/data
  12. eMailFile=$daily_databakDir/email.txt
  13. #eMail=
  14. DATE=`date+%Y%m%d%H%M%S`
  15. logFile=$daily_databakDir/mysql$DATE.log
  16. #echo"">$eMailFile
  17. #echo"-----------------------">>$eMailFile
  18. #echo$(date+"%y-%m-%d%H:%M:%S")>>$eMailFile
  19. #echo"-------
  20. #
  21. #------------------">>$eMailFile
  22. TIME=$(date"-d40dayago"+%Y%m%d%H%M%S)
  23. StartTime=$(date-d"-60minute"+"%Y-%m-%d%H:%M:%S")
  24. echo“Delete40daysbeforethelog”>>$eMailFile
  25. mysql-h$host-u$user-e"purgemasterlogsbefore${TIME}"&&echo"delete40daysbeforelog"|tee-a$eMailFile#删除10天前的2进制文件
  26. filename=`cat$mysqlDataDir/mysql-bin.index|awk-F"/"'{print$2}'`#2进制文件
  27. foriin$filename
  28. do
  29. #echo"$StartTimestartbackupbinlog">>$eMailFile
  30. mysqlbinlog-h$host-u$user-d$database--start-datetime="$StartTime"$mysqlDataDir/$i>>$daily_databakDir/daily$DATE.sql|tee-a$eMailFile
  31. done
  32. if[$?=0]
  33. then
  34. #删除mtime>32的增量日志备份文件
  35. find$daily_databakDir-name"*.log"-typef-mtime+32-execrm{};>/dev/null2>&1
  36. cd$daily_databakDir
  37. tar-cvzf$daily_databakDir/$database$DATE.tar.gzdaily$DATE.sql
  38. #>>/dev/null2&1
  39. #scp至另一台服务器
  40. echo"Dailybackupsucceed">>$eMailFile
  41. else
  42. echo"Dailybackupfail">>$eMailFile
  43. #mail-s"MySQLBackup"$eMail<$eMailFile#备份失败之后发送邮件通知
  44. fi
  45. cat$eMailFile>$logFile
  46. --phpfensi.com
  47. #删除mtime>32的增量日志备份文件
  48. find$daily_databakDir-name"*.log"-typef-mtime+32-execrm{};>/dev/null2>&1

相关广告
  • mysql二进制日志增量备份脚本 mysql二进制日志增量备份脚本 mysql二进制日志增量备份脚本
相关阅读

mysql二进制日志增量备份脚本

2019/10/10 17:36:09 | 谷歌SEO算法 | 自媒体