项目集群搭建完成,数据库虽有作主从同步,但考虑到数据安全性,为了知足这个需求那么要天天对数据备份处理,mysql
但天天手动进行备份处理太过于被动,并且白天用户访问,会有数据变化以及在备份时会影响服务器正常运行的性能,sql
因此考虑写一个脚本,并制定一个定时任务进行执行脚本备份数据;数据库
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.gzbash
55 23 * . /vdb1/mysql/mysqldump.sh服务器
当运行了一段时间后,发现备份的数据有些占磁盘空间的,而我要保存的只是最近一月的数据就能够了,因此将这个脚本进行升级,性能
在可能没有人注意的状况下,而磁盘不会被备份数据占满;code
year=date +%Y
month=date +%m
day=date +%d
backpath=/vdb1/mysql/backup/$year$month/
user=root
passwd=123456
dataname=zmq123ip
[ -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
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