利用crontab自动定时备份数据库

原创 木鱼  2017-05-22 14:28  阅读 14 次

定时备份的好处

1. 防止服务器硬件损坏导致数据丢失

2. 防止数据库被恶意攻击丢失数据

3. 防止xxx操作失误清空数据

4. 等等等等...

这里用备份mysql数据库演示。

 

1. 创建一个存储备份文件的文件夹
# mkdir /mysql_bak
# cd /mysql_bak
 
2. 新建一个脚本文件
# touch autoBackupsMysql.sh
 
3. 打开脚本文件
# vim autoBackupsMysql.sh 
 
4. 在脚本文件中加入一下内容
filename=`date +%Y%m%d`
/usr/local/mysql/bin/mysqldump -uroot -proot databaseName >>/mysql_bak/$filename.sql

5. 检测是否安装crond
# yum -y install vixie-cron crontabs
 
6. 启动crond
# service crond start
 
7. 把crond加入为开机自动启动
# chkconfig --level 345 crond on
 
8. 编辑定时指令
# crontab -e
 
9. 添加定时命令
 
比如每天的23:40分备份一次, 则加入:
40 23 * * * source /mysql_bak/autoBackupsMysql.sh
 
比如每5分钟备份一次, 则加入:
*/5 * * * * source /mysql_bak/autoBackupsMysql.sh
 
比如每2小时备份一次, 则加入:
* */2 * * * source /mysql_bak/autoBackupsMysql.sh
 
* * * * * 分别代表 分 时 日 月 周

10. 最后重启crond
# service crond restart


ok 大功告成

我这里是每天晚上23:45分备份一次

解释一下脚本内容:


filename=`date +%Y%m%d`  

指定备份文件保存的名字

注意: 如果要每天备份多次的话,可以在%d后面加一个%s,防止文件名一致导致文件覆盖。


/usr/local/mysql/bin/mysqldump -uroot -proot databaseName >>/mysql_bak/$filename.sql

红色: mysqldump文件的位置; 如果是按照上面教程的话, 路径应该为: /usr/local/mysql/bin/mysqldump

绿色: 登录数据库的账号

蓝色: 登录数据库的密码

紫色: 需要备份的数据库名

灰色: 备份文件需要存储的路径 及 保存的文件名

本文地址:https://www.m5yu.com/crontab.html
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:木鱼博客
版权声明:本文为原创文章,版权归 木鱼 所有,欢迎分享本文,转载请保留出处!
上一篇:已经是最后一篇了

发表评论