先将目标端binlog位置用NFS挂载到本地,这里是targetDir,然后剪切。这里只在本地保存最近三天的binlog,将三天前的binlog剪切走。
vi /root/mvbinlog.sh
sourceDir='/data/server/mysql_3307/data'
targetDir='/opt/binlog_bak/'
date=date +%Y%m%d
echo $date':'
str1=$(find $sourceDir -mtime +3 -type f -name "mysql-bin*" | sort)
echo '开始拷贝以下文件:'
echo "$str1"
str1=$(find $sourceDir -mtime +3 -type f -name "mysql-bin*" -exec mv {} $targetDir ;)
if [[ $? == 0 ]]
then
echo 'binlog剪切成功.'
else
echo 'binlog剪切失败.'
exit
fi
echo ''
chmod +x /root/mvbinlog.sh
然后设置每天自动备份的定时任务。
crontab -e,新增如下内容:
0 1 * * * sh /root/mvbinlog.sh >> /root/mvbinlog.log 2>&1