自动打包mysql下binlog日志
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动打包mysql下binlog日志相关的知识,希望对你有一定的参考价值。
一、需求
线上一台机器做了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日志的主要内容,如果未能解决你的问题,请参考以下文章