Shell脚本-----自动备份Mysql数据库

脚本的整体思路

    1.定义需要的变量

    2.利用for循环备份需要备份的库,并以库名-当天日期.sql命名,并记录相关日志

    3.建立备份当天的日期的目录,向备份的Sql文件移动到该目录

    4.压缩打包该目录,以节省空间,打包成功后删除该目录

    5.备份目录只备份七天的数据库,第八天删除第一天的备份,目录只会存在连续七天的备份文件

    6.查找备份目录下的.log日志文件,超过七天的删除

#!/bin/bash

mysql_bin=/usr/local/tdoa/mysql/bin/mysqldump
user=root
passwd=myoa888
mysql_back=/mysql-back
date=$(date +%F)
for i in td_oa td_oa_archive  bus crscell
do
        $mysql_bin -u$user -p$passwd $i >> $mysql_back/$i-$date.sql
        if [ $? -eq 0 ];then
                        echo -e "$date $i Back Success\n" >> $mysql_back/back.log
                else
                        echo -e "$date $i Back Failure\n" >> $mysql_back/error.log
        fi
done

cd $mysql_back

        if [ ! -d $date ];then
                mkdir $mysql_back/$date
                mv $mysql_back/*.sql $mysql_back/$date
        else
                mv $mysql_back/*.sql $mysql_back/$date
        fi

tar -czf mysql-$date.tar.gz $date
rm -r $mysql_back/$date

find $mysql_back -name \*.gz -type f -mtime +6 -exec rm {} \;
find $mysql_back -name \*.log -type f -atime +6 -exec rm {} \;


本文出自 “悬剑” 博客,请务必保留此出处http://sublime.blog.51cto.com/8856101/1535990

Shell脚本-----自动备份Mysql数据库,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。