码迷,mamicode.com
首页 > 数据库 > 详细

自动打包mysql下binlog日志

时间:2016-11-14 15:57:05      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:linux   mysql   tar   tar自动打包文件   

一、需求

线上一台机器做了rsync,从5台mysql机器拉取binlog日志到本地,之前是手动打包,现在写了个脚本,放到crontab定期执行打包,并删除打包后的的文件。


二、脚本如下

#!/bin/sh
# usage: 
# nohup sh /tmp/backup_binlog_tar.sh > nohup.out  2>/dev/null  &


dir_backup_tar="/data0/backup_log-bin_tar"_`date +%Y-%m-%d--%H-%M-%S`
echo $dir_backup_tar
mkdir -p $dir_backup_tar

#!/bin/sh
# usage: 
# nohup sh /tmp/backup_binlog_tar.sh > nohup.out  2>/dev/null  &


dir_backup_tar="/data0/backup_log-bin_tar"_`date +%Y-%m-%d--%H-%M-%S`
echo $dir_backup_tar
mkdir -p $dir_backup_tar


dir_binlog_140="/data0/backup_log-bin/140/log-bin"
dir_binlog_141="/data0/backup_log-bin/141/log-bin"
dir_binlog_145="/data0/backup_log-bin/145/log-bin"
dir_binlog_146="/data0/backup_log-bin/146/log-bin"
dir_binlog_182="/data0/backup_log-bin/182/log-bin"


instance_seq=140
dir_binlog=$dir_binlog_140
if [ ! -d $dir_binlog ]; then
        echo "$dir_binlog is not exit and skip!" 
fi
for instance in `ls $dir_binlog`
do
        cd $dir_binlog
        tar -zcf $dir_backup_tar/"$instance_seq""_""$instance"".tar.gz" $instance
        if [ $? -eq 0 ];then
                echo "delete $dir_binlog/$instance/* ..."
                rm -rf $dir_binlog/$instance/*
        else
                echo "tar $dir_binlog/$instance failed!!!"
        fi
done


instance_seq=141
dir_binlog=$dir_binlog_141
if [ ! -d $dir_binlog ]; then
        echo "$dir_binlog is not exit and skip!" 
fi
for instance in `ls $dir_binlog`
do
        cd $dir_binlog
        tar -zcf $dir_backup_tar/"$instance_seq""_""$instance"".tar.gz" $instance
        if [ $? -eq 0 ];then
                echo "delete $dir_binlog/$instance/* ..."
                rm -rf $dir_binlog/$instance/*
        else
                echo "tar $dir_binlog/$instance failed!!!"
        fi
done


instance_seq=145
dir_binlog=$dir_binlog_145
if [ ! -d $dir_binlog ]; then
        echo "$dir_binlog is not exit and skip!" 
fi
for instance in `ls $dir_binlog`
do
        cd $dir_binlog
        tar -zcf $dir_backup_tar/"$instance_seq""_""$instance"".tar.gz" $instance
        if [ $? -eq 0 ];then
                echo "delete $dir_binlog/$instance/* ..."
                rm -rf $dir_binlog/$instance/*
        else
                echo "tar $dir_binlog/$instance failed!!!"
        fi
done


instance_seq=146
dir_binlog=$dir_binlog_146
if [ ! -d $dir_binlog ]; then
        echo "$dir_binlog is not exit and skip!" 
fi
for instance in `ls $dir_binlog`
do
        cd $dir_binlog
        tar -zcf $dir_backup_tar/"$instance_seq""_""$instance"".tar.gz" $instance
        if [ $? -eq 0 ];then
                echo "delete $dir_binlog/$instance/* ..."
                rm -rf $dir_binlog/$instance/*
        else
                echo "tar $dir_binlog/$instance failed!!!"
        fi
done


instance_seq=182
dir_binlog=$dir_binlog_182
if [ ! -d $dir_binlog ]; then
        echo "$dir_binlog is not exit and skip!" 
fi
for instance in `ls $dir_binlog`
do
        cd $dir_binlog
        tar -zcf $dir_backup_tar/"$instance_seq""_""$instance"".tar.gz" $instance
        if [ $? -eq 0 ];then
                echo "delete $dir_binlog/$instance/* ..."
                rm -rf $dir_binlog/$instance/*
        else
                echo "tar $dir_binlog/$instance failed!!!"
        fi
done


本文出自 “散人” 博客,请务必保留此出处http://zouqingyun.blog.51cto.com/782246/1872665

自动打包mysql下binlog日志

标签:linux   mysql   tar   tar自动打包文件   

原文地址:http://zouqingyun.blog.51cto.com/782246/1872665

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!