生产如何定时备份数据库

    技术2023-06-26  80

    1.在生产服务器下面,在 /mydata/mysqlBackUp/bin/ 目录下新建backup.sh文件,文件内容如下:

    #!/bin/bash DATE=`date +%Y-%m-%d` cd /home/backup/ ##配置全局变量 #数据库信息 MYSQL="mysql -uroot -p123456 -hlocalhost" #数据库用户名 dbuser="root" #数据库密码 dbpasswd="123456" #数据库名 dbname="mysql" #日志备份路径 logpath="/home/backup" #数据备份路径 datapath="/home/backup" ##开始备份时间 DAT=`date +%H:%M:%S` echo "===========$DATE========">>${logpath}/backup.log echo "start bak:$DAT">> ${logpath}/backup.log ##删除7天之前的备份文件 find /home/backup/ -mtime +6 -name "*.bz2"|xargs rm -f ## 循环备份每个数据库里面的表 cat $dbname|while read db do ##开通下面两个可支持重跑 #rm -f $DATE.$db.bz2 rm -rf $db mkdir "$db" cd $db for table in `$MYSQL $db -e "show tables"|sed '1d'` do #echo "$table" > $table.sql mysqldump -u$dbuser -p$dbpasswd $db $table > $table.sql; done ct=`ls|wc -l` cd ../ echo "$db count: $ct" >> ${logpath}/backup.log tar -jcvf $DATE.$db.bz2 $db # rm -rf $db done DAT=`date +%H:%M:%S` echo "end time : $DAT" >> ${logpath}/backup.log echo " " >> ${logpath}/backup.log

    2.设置定时备份任务: crontab -e

    00 03 * * * /mydata/mysqlBackUp/bin/backup.sh

    3.查看定时备份任务: crontab -l

    说明:

    备份压缩文件存放目录: /mydata/mysqlBackUp

    备份文件命名规则: {备份日期}.{数据库名}.bz2

    备份最新sql文件存放目录: /mydata/mysqlBackUp/{数据库名}

    备份日志文件: /mydata/mysqlBackUp/log/backup.log

    Processed: 0.013, SQL: 10