Heim > Datenbank > MySQL-Tutorial > MySQL异地增量备份

MySQL异地增量备份

WBOY
Freigeben: 2016-06-07 17:59:11
Original
1311 Leute haben es durchsucht

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到另一个服务器上。
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage