標籤: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_tarmkdir -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_tarmkdir -p $dir_backup_tardir_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=140dir_binlog=$dir_binlog_140if [ ! -d $dir_binlog ]; then echo "$dir_binlog is not exit and skip!" fifor 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!!!" fidoneinstance_seq=141dir_binlog=$dir_binlog_141if [ ! -d $dir_binlog ]; then echo "$dir_binlog is not exit and skip!" fifor 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!!!" fidoneinstance_seq=145dir_binlog=$dir_binlog_145if [ ! -d $dir_binlog ]; then echo "$dir_binlog is not exit and skip!" fifor 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!!!" fidoneinstance_seq=146dir_binlog=$dir_binlog_146if [ ! -d $dir_binlog ]; then echo "$dir_binlog is not exit and skip!" fifor 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!!!" fidoneinstance_seq=182dir_binlog=$dir_binlog_182if [ ! -d $dir_binlog ]; then echo "$dir_binlog is not exit and skip!" fifor 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!!!" fidone
本文出自 “散人” 部落格,請務必保留此出處http://zouqingyun.blog.51cto.com/782246/1872665
自動打包mysql下binlog日誌