mysql全量和增量备份脚本
生活随笔
收集整理的這篇文章主要介紹了
mysql全量和增量备份脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
全量:
[root@master?leo]#?cat?DBfullBak.sh? #!/bin/bash #use?mysqldump?to?fully?backup?mysql?dataBakDir=/root/leo/full LogFile=/root/leo/full/bak.logDate=`date?+%Y%m%d` Begin=`date?+"%Y年%m月%d日?%H:%M:%S"` cd?$BakDir DumpFile=$Date.sql GZDumpFile=$Date.sql.tgz mysqldump?-uroot?-p123456?--all-databases?--lock-all-tables?--routines?--triggers?--events?--master-data=2?--flush-logs?>?$DumpFile tar?zcvf?$GZDumpFile?$DumpFile rm?$DumpFile Last=`date?+"%Y年%m月%d日?%H:%M:%S"` echo?開始:$Begin?結束:$Last?$GZDumpFile?succ?>>?$LogFile參數注釋:
--all-databases???#備份所有庫 --lock-all-tables?#為所有表加讀鎖 --routinge????????#存儲過程與函數 --triggers????????#觸發器 --events??????????#記錄事件 --master-data=2???#在備份文件中記錄當前二進制日志的位置,并且為注釋的,1是不注釋掉在主從復制中才有意義 --flush-logs??????#日志滾動一次結果如下:
[root@master?full]#?ls 20140728.sql.tgz??bak.log [root@master?full]#?cat?bak.log? 開始:2014年07月28日?19:02:59?結束:2014年07月28日?19:02:59?20140728.sql.tgz?succ 開始:2014年07月28日?19:12:01?結束:2014年07月28日?19:12:01?20140728.sql.tgz?succ [root@master?full]#增量備份:
[root@master?leo]#?cat?DBDailyBak.sh? #!/bin/bashBakDir=/root/leo/binlog/ BinDir=/var/lib/mysqlLogFile=/root/leo/binlog/bak.log BinFile=/var/lib/mysql/mysql-bin.indexmysqladmin?-uroot?-p123456?flush-logsCounter=`wc?-l?$BinFile|awk?'{print?$1}'` NextNum=0for?file?in?`cat?$BinFile` do?base=`basename?$file`NextNum=`expr?$NextNum?+?1`if?[?$NextNum?-eq?$Counter?]thenecho?$base?skip!?>>?$LogFileelsedest=$BakDir/$baseif(test?-e?$dest)thenecho?$base?exist!?>>?$LogFileelsecp?$BinDir/$base?$BakDir/echo?$base?copying?>>?$LogFilefifi doneecho?`date?+"%Y年%m月%d日?%H:%M:%S"`?$Next?Bakup?succ~?>>?$LogFile轉載于:https://blog.51cto.com/lansgg/1536870
總結
以上是生活随笔為你收集整理的mysql全量和增量备份脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle排序后的第一条记录
- 下一篇: Asp.Net中几种标记符号解释及用法