在我们网站上线之后免不了需要备份数据库,为什么要备份呢?我给大家列出了3个理由。
1、防止数据丢失
2、防止数据改错了,可以用来恢复
3、方便给客户数据
以 上几点告诉我们要经常备份,当然我今天给大家介绍的只是定时备份mysql数据库的部分内容,当然大家可以拿我给出的例子去做其他的操作也可以,下次更新 博文我将会交会大家如何把备份的文件上传到指定的FTP里面去,并且还会有介绍如果备份网站程序,其实如果能看到我这个脚本代码,相信对大家来说备份网站 文件也是轻而易举的事情,实际上。这个不仅仅只是可以用在备份数据库方面,可以用在各种用途。废话不多说,我就直接上代码了。
back.sh:
- #!bin/sh
- time = `date '+%y-%m-%d %H:%M:%S'`
- ###################数据库配置信息#######################
- user=数据库用户名
- passwd=数据库密码
- dbname=数据库名称
- mysql_back_path=数据库备份到哪里
- ###################数据库配置信息#######################
- mysqldump -u $user -p$passwd $dbname > $mysql_back_path/$time.sql
以上代码分别是:
time:获取系统时间,作为备份文件的名字
user:数据库的用户名
passwd:数据库的密码
dbname:数据库的名称
mysql_back_path:数据库备份的路径
mysqldump:这个是mysql提供的导出命令
以 上代码就是一个可以备份mysql的脚本代码了,当然我们只是写好了一个文件而已,那么我们要怎么实现自动呢,这样也还是得手动执行还是很麻烦,一般备份 工作都是放在半夜来做的,你也不想睡得正香的时候爬起来进行备份吧。那么下面我们就用到了centos自带的定时器crontab。这篇博文不懂 crontab的使用不要紧,我随后也会更新一篇博文专门用来介绍什么是crontab,怎么用来做定时任务,都可以做些什么。我都会一一给大家讲解。
设置定时任务:
- crontab -e
编写定时任务信息:
- * 0 * * * /bin/sh /home/back.sh
上面这句代码,就是每天晚上12点使用sh命令自动执行我放在/home文件夹下面的back.sh文件。
以上就实现了每天晚上12点自动备份数据库的操作了,我们想要测试一下看看行不行的话,我们可以先设置每分钟一次,然后去mysql_back_path定义的目录查看我们的备份文件
每分钟的定时任务得这么写
- */1 * * * * /bin/sh /home/back.sh
编写完之后可以通过
- crontab -l
来查看我们刚刚查看的创建的定时任务,如果有列出来那就说明我们的任务创建成功了。
以上代码希望能帮助大家在学习的路上少走一些弯路,也希望能和大家共同进步。