mysql数据库定时备份脚本

mysql数据库定时备份脚本

#数据库用户名
DB_USER='xxoo'
#数据库密码
DB_PASSWD='Xxoo_12xxoo'
#数据库名,可以定义多个数据库,中间以空格隔开,如:test test1 test2
DB_NAME=(db1 db2 db3)
#备份时间
CURRENT_BACKUP_TIME=`date +%Y%m%d%H%M%S`
#日志备份路径
LOG_PATH='/data01/mysql/backup/backup_log'
#数据备份路径
DATA_PATH='/data01/mysql/backup/backup_data'
#日志记录头部
echo ”备份时间为$CURRENT_BACKUP_TIME,备份数据库 $DB_NAME 开始” >> $LOG_PATH/mysql_backup_log.log
#正式备份数据库
for DB in ${DB_NAME[@]};do
    source=`mysqldump  -u$DB_USER -p$DB_PASSWD $DB > $DATA_PATH/$DB-$CURRENT_BACKUP_TIME.sql` 2>> $LOG_PATH/mysql_backup_log.log;
    #备份成功以下操作
    if [ "$?" == 0 ];then
        cd $DATA_PATH
        #为节约硬盘空间,将数据库压缩
        tar zcf $DB-$CURRENT_BACKUP_TIME.tar.gz $DB-$CURRENT_BACKUP_TIME.sql > /dev/null
        #删除原始文件,只留压缩后文件
        rm -f $DATA_PATH/$DB-$CURRENT_BACKUP_TIME.sql
        echo “数据库 $DB 备份成功!!” >> $LOG_PATH/mysql_backup_log.log
        #删除三十天之前的备份
        find $DATA_PATH -name $DB-*.tar.gz -type f -mtime +30 -exec rm -rf {} ; > /dev/null 2>&1echo "数据库 $DB 30天之前的备份数据被删除!!" >> $LOG_PATH/mysql_backup_log.log
    else
        #备份失败则进行以下操作
        echo “数据库 $DB 备份失败!!” >> $LOG_PATH/mysql_backup_log.log
    fi
done
原文地址:https://www.cnblogs.com/malukang/p/12447815.html