MySQL异地增量备份

WBOY
リリース: 2016-06-07 17:59:11
オリジナル
1312 人が閲覧しました

MySQL异地增量备份: 1.#!/bin/sh 2. 3.#MySQL Info 4.sqluser=root 5.sqlpsw=root 6. 7./usr/bin/mysqladmin -u$sqluser -p$sqlpsw flush-logs --default-character-set=GBK 8. 9.DATADIR=/data/mysql 10.BAKDIR=/home/backup/mysql/daily 11.TEMPDIR=/home/b

MySQL异地增量备份:

1.#!/bin/sh 
2.
3.#MySQL Info  
4.sqluser=root  
5.sqlpsw=root  
6. 
7./usr/bin/mysqladmin -u$sqluser -p$sqlpsw flush-logs --default-character-set=GBK   8. 
9.DATADIR=/data/mysql  
10.BAKDIR=/home/backup/mysql/daily  
11.TEMPDIR=/home/backup/mysql/temp  
12. 
13.BINLOGNAME='mysql-bin'  14.cd $DATADIR  
15.FILELIST=$(cat $BINLOGNAME.index | cut -c3-)  16.
17.## COUNTER number  
18.COUNTER=0  
19.for file in $FILELIST   20.do  21.COUNTER=$(expr $COUNTER + 1)  
22.done  
23. 
24.NextNum=0  
25.for file in $FILELIST   26.do  27.NextNum=$(expr $NextNum + 1)  
28.if test "$NextNum" = "$COUNTER"  29.then  
30.echo "skip lastest"  31.else  32.dest=$BAKDIR/$file  
33.if test -e $dest   34.then  
35.echo "skip exist $dest"  36.else  37.cp $file $TEMPDIR  
38.fi  
39.fi  
40.done  
41.echo "backup mysql binlog ok"  42. 
43.sleep 2s  
44. 
45.cd $TEMPDIR  
46.tarname=binlog$(date +%y%m%d).tar.gz  
47.tar czf $tarname ./mysql-bin*  
48. 
49.sleep 1s  50.
51.#ftp Info  
52.ftphost=111.111.11.11  
53.ftpname=xxx  
54.ftppsw=psw  
55. 
56.cd $TEMPDIR  
57. 
58.ftp -i -n 59.open $ftphost  
60.user $ftpname $ftppsw  
61.type binary  
62.put $tarname  
63.close  
64.bye  
65.!  
66.sleep 10s  
67. 
68.echo "end upload"  69. 
70.cd $TEMPDIR  
71.mv $BINLOGNAME* $BAKDIR  
72.rm -r $tarname  
73. 
74.echo "end"  说明:

mysqladmin -u$sqluser -p$sqlpsw flush-logs:mysql自动把内存中的日志放到日志文件binlog的最后一个文件里,并生成一个空的新日志文件,之后只需要备份前面的几个即可,最后一个因为是刚生成的,并且是空的,所以不需备份。

关于binlog可参考: http://www.linuxidc.com/Linux/2012-09/70815.htm

大概思路:

把datadir和bakdir目录中的binlog进行对比,如bakdir中没有,且该binlog不是最后一个,则把该binlog复制到tempdir中;这样tempdir中的binlog都是新增的binlog。之后把tempdir中的binlog进行打包压缩,ftp到另一个服务器上。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート