你的位置:首页 > 数据库

[数据库]mysql 二进制文件增量备份


1、首先在my.cnf下添加二进制文件路径(windows下文件名称为my.ini)

     在[mysqld]下添加 log-bin=mysql-bin

2、centos下默认安装mysql 5.6,数据默认文件夹下为 /var/lib/mysql

3、编写脚本

#!/bin/bash
#echo 增量备份
#MySQL增量备份脚本 一般在slave从库上运行 ,开启log_save_updates=1
#path

#备份文件路径
BakDir=/usr/work/mysql/bak.log
echo $BakDir
cd $BakDir
DateDir=$(date +%Y%m%d)
echo $DateDir
path=$BakDir/$DateDir
echo $path
#创建时间目录
mkdir -p $DateDir
mysqladmin -uroot  flush-logs
tpath=/var/lib/mysql
echo $tpath
head -n -1  $tpath/mysql-bin.index | sed 's/.\///'   #mysql-bin.index 里面记录的binlog文件
while read line
do
cp $tpath/$line $path/
echo $line
#拷贝
echo $tpath/$line
#cp $tpath/$line path
done < /tmp/11
#压缩
cd $BakDir
tar -zcvf $DateDir.tar.gz $DateDir/
#删除文件
rm -rf $path

#加入FTP目录
ftp -ivn << EOF
open 192.168.1.125
user administrator zzf
cd  newslogbackup
put $DateDir.tar.gz
bye
EOF

按 :wq 保存并退出

 

将脚本添加到定时启动项中

设定服务器 某个时间重新启动

vi /etc/crontab

#reboot 设定每天10:30重新启动

30 10 * * * root /usr/work/back.sh

记得要重新启动 crond 的服务:service crond restart