做项目有时候要备份数据库,手动备份太麻烦,所以找了一下定时备份数据库的方法
Linux里有一个 crontab命令被用来提交和管理用户的需要周期性执行的任务,就像Windows里的定时任务一样,用这个就可以设置定时任务去执行相应的操作。
所以,我们通过创建一个shell文件,把执行的命令放在里面,然后再用crontab去定时执行就可以达到我们想要的效果了。
接下来我们一步一步做。
一. 新建一个backup文件夹,用于存放我们的备份文件
Linux系统里,home文件夹一般空间比较充足,可以用来存放我们的备份文件
cd /home
mkdir backup
二. 创建一个shell文件,命名为: bk_你的数据库名.sh(或者你自定义也行,最好语义化,一眼看得懂)
假设为 bk_mydatabase.sh
vi bk_mydatabase.sh
三. 在这个shell文件里添加要执行的命令,即备份mysql数据库的命令,并保存
注意:-u和-p后面接上你的mysql用户名和密码,不要带空格,数据库名就填你要备份的数据库名称
这里备份的名称就是你的 数据库名称_备份的时间.sql ,方便查看是什么时候备份的
crontab执行命令必须加上命令的全路径写全,比如我就加上了 “/usr/local/mysql/bin/” ,这里是我踩过的坑,没加全路径导出来的文件都是0KB,踩过就记住了
#!/bin/bash
/usr/local/mysql/bin/mysqldump -u用户名 -p密码 数据库名