随着时代的发展,我们逐渐进入了信息时代,数据已经成为了一个公司的命脉。许多公司会想方设法的保证数据安全,在这里我会简要介绍一下数据备份。
首先,我们使用的是mysql数据库存储数据,没有做集群,也没有做主从同步,简单的一台数据库服务器,使用percona软件提供的完全备份+增量备份保证数据安全。
percona软件可以到官网上下载
yum -y install libev-4.15-1.el6.rf.x86_64.rpm percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm
安装好后,percona会提供innobackupex命令,该命令可以备份innodb和myisam两种格式的表,因为数据量比较大,不可能每天都完全备份,所以此处选择周一完全备,周二到周日增量备,为了不引起冲突,以日期做文件夹,每天备份都互不冲突,此处以shell脚本实现。
vim mysqlbak.sh
# W 第几周
# d 周几
# dir 备份目录
W=`date +%W`
d=`date +%w`
dir='/mysqlback/'
user="root"
password="qazwsx789456"
[ -d ${dir}${W} ] || mkdir -p ${dir}${W}/$d
if [ $d -eq 1 ] ; then
innobackupex --user=$user --password=$password ${dir}${W}/$d --no-timestamp
else
innobackupex --user=$user --password=$password --incremental ${dir}${W}/$d \
--incremental-basedir=${dir}${W}/$[d-1] --no-timestamp
chmod +x mysqlbak.sh
因为该网站白天访问量比较大,夜晚访问量少,所以选择后半夜2:00备份数据,配合周期性计划任务
crontab -e -u root
0 2 * * * /root/mysqlbak.sh