最近团队做了个产品,由于数据越来越多,而数据又是产品的根本所在,容不得半点马虎,数据风险需要规避。所以我们给自己的 项目加上了自动化备份来解决未来可能因为数据导致的风险性的问题。
我们使用的是linux centos操作系统,使用的是阿里云,具体哪个版本没有去查,应该都差不多。
默认情况下阿里云的centos没有crontab命令,可以先安装crontab
1、先确定自己要把备份放到那个目录下,可先查看下
[root@iZ23fmoei8xZ /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 40G 12G 26G 31% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
查到/dev/xvda1有比较大的空间,但是我个人不喜欢放到这个下面,比较难记,所以我在/下面建立了自己的目录
[root@iZ23fmoei8xZ /]# mkdir database_bak
我建立了database_bak文件夹
2、创建备份脚本
[root@iZ23fmoei8xZ /]# vi weiyun_base.sh
我创建了一个weiyun_base.sh的脚本文件
贴上代码
#!/bin/bash
mysqldump -uxxxxx -pyyyyy zzzz > /ddddd/eeeee_$(date +%Y%m%d_%H%M%S).sql
记住:格式应该是
mysqldump -u数据库登录名 -p密码 数据库名称 > /备份目录/备份的文件前缀_$(date +%Y%m%d_%H%M%S).sql
所以xxxxx记得换掉成数据库登录名,yyyyy换掉成密码,zzzz换掉成数据库名称,ddddd换掉成你想要备份到那个目录去,eeeee表示你想要的备份的文件的前缀以什么开始.
保存退出!
运行脚本试试,如果在你备份的目录下面有了一个sql文件,可以下载看看。
3、添加计划任务,让脚本按照一定的规律运行,比如按照每天一次,每天x次
由于一开始我们介绍了crontab命令的安装,下面不解释了。
执行命令:
[root@iZ23fmoei8xZ database_bak]# crontab -e
10 4 * * * date /database_bak/weiyun_base.sh
每天4点10分备份
完成