Mysql数据库备份Shell脚本

博客链接:Cs XJH’s Blog

数据库数据又丢失了!!!

作为一个后端攻城狮,在维护线上数据库时,难免发生数据库被不法分子植入病毒导致数据全部丢失,或者自己手抽delete的时候没有加where条件将所有表清空…

这时,你心里一阵巴凉巴凉,“前端会不会把我祭天了…我还有后悔药可以吃么…”

这里提供一个简单数据库备份脚本,希望可以帮到大家

    # !/bin/bash 数据库数据备份
    
    DB_NAME=    # 数据库用户名
    DB_PWD=	    # 数据库密码
    DATABASES=()	# 需要备份的数据库名(数组类型)
    
    DAYS=2
    DUMP=/usr/bin/mysqldump
    DATE=`date +%Y-%m-%d`
    DIR="mysql-$DATE"
    
    if [ ! -d "$DIR" ]
    then
            mkdir $DIR
    fi
    
    chmod 755 $DIR
    cd $DIR
    
    # 循环备份各个数据库
    for i in ${DATABASES[@]}
    do
            echo $i
            RAW="$i.sql"
            TAR="$i.tar.gz"
            $DUMP -u$DB_NAME -p$DB_PWD $i > $RAW
            tar -czvf $TAR $RAW
            rm $RAW
    done
    
    # 删除2天之前的备份目录及文件 
    find /root -name "mysql-*" -mtime +$DAYS | xargs rm -rf

你可能感兴趣的:(运维,ubuntu,shell)