Centos使用crontab自动定时备份mysql的脚本

时间: 2015-04-05 11:22 栏目: Linux 浏览: 8180 赞: 1 踩: 0 字体:

以下为本篇文章全部内容:

在我们网站上线之后免不了需要备份数据库,为什么要备份呢?我给大家列出了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

来查看我们刚刚查看的创建的定时任务,如果有列出来那就说明我们的任务创建成功了。

以上代码希望能帮助大家在学习的路上少走一些弯路,也希望能和大家共同进步。

谢谢大家对本博客的支持,本站专注原创技术文章,更新博文不容易,请转载带上本文链接注明出处。

扫二维码快速加群:

qun.png

如果大家有什么疑问可以加我QQ327388905进行解答,也可以加入交流群ThinkPHP交流群