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