700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > mysql定时导出数据_Mysql定时备份数据脚本

mysql定时导出数据_Mysql定时备份数据脚本

时间:2021-06-08 21:35:47

相关推荐

mysql定时导出数据_Mysql定时备份数据脚本

项目集群搭建完成,数据库虽有做主从同步,但考虑到数据安全性,为了满足这个需求那么要每天对数据备份处理,

但每天手动进行备份处理太过于被动,而且白天用户访问,会有数据变化以及在备份时会影响服务器正常运行的性能,

所以考虑写一个脚本,并制定一个定时任务进行执行脚本备份数据;

#!/bin/bash

###数据库定时备份,并将备份的库进行打包压缩

user=root

passwd=123456

back_path=/vdb1/mysql/backup

data_name=zmq123

date=`date +%Y%m%d`

mkdir $back_path/$date

mysqldump -u $user -p$passwd $data_name |gzip > $back_path/$date/$data_name.sql.gz

#定时任务,计划在每天晚上23点55分进行数据备份

55 23 * * * . /vdb1/mysql/mysqldump.sh

当运行了一段时间后,发现备份的数据有些占磁盘空间的,而我要保存的只是最近一月的数据就可以了,所以将这个脚本进行升级,

在可能没有人注意的情况下,而磁盘不会被备份数据占满;

###升级版每天晚上11:55分进行定时备份,

#!/bin/bash

year=`date +%Y`

month=`date +%m`

day=`date +%d`

backpath=/vdb1/mysql/backup/$year$month/

user=root

passwd=123456

dataname=zmq123

[ -d $backpath ] || mkdir -p $backpath

rq=`date +%Y%m%d`

mysqldump -u $user -p$passwd $dataname|gzip >$backpath/$rq.sql.gz

#定时任务

分 时 日 月 周

55 23 * * * . /vdb1/mysql/mysqldump.sh

########每月2号晚上11:30进行定时删除上个月备份数据

#!/bin/bash

year=`date +%Y`

month=`date +%m`

month=`expr $month - 1`

if [ $month -eq 0 ];then

month=12

day=31

year=`expr $year - 1`

fi

if [ $month -lt 10 ];then

pre=0

fi

backdir=/vdb1/mysql/backup/$year$pre$month

rm -rf $backdir #删除上一个月的数据

##定时任务

30 23 2 * * . /vdb1/mysql/delmysqlbak.sh

OK!编写完成,先运行段时间看下吧!有情况再进行改进;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。