Ubuntu设置定时任务自动备份Mysql

  • 作者:lwj
  • 分类:Linux
  • 发表日期:2019-10-13 00:17:57
  • 阅读(702)
  • 评论(0)

创建备份程序

1. 修改mysql配置文件: vim /etc/mysql/conf.d/mysqldump.cnf

 文件尾部添加如下内容:

host = 127.0.0.1
user = 数据库用户名
password = 数据库密码

2. 创建一个文件夹用来放你备份的文件

cd /home/ubuntu
mkdir data_backup

3. 创建备份程序 =>  backup_mysql.sh

rq=$(date +%Y_%m_%d_%H_%M)
mysqldump 数据库名 >/home/ubuntu/data_backup/数据库名_$rq.sql
 
# rq:获取系统的date中的年Y月m日d时H分M
# mysqldump:  mysqldump命令备份数据库

4. 给备份程序添加操作权限

chmod +x backup_mysql.sh

5. 测试备份程序

执行: ./backup_mysql.sh

执行成功,查看data_backup文件夹下有没有那个sql文件

配置定时任务

修改/etc/crontab

sudo vim /etc/crontab

添加如下记录:

30  14   *   *   *   root   /home/ubuntu/data_backup/backup_mysql.sh
分  时   天  月  周

注:表示每天14点30分以root用户执行 /home/ubuntu/data_backup/backup_mysql.sh

crontab中的每一行代表一个定期执行的任务,分为6个部分。前5个部分表示何时执行命令,最后一个部分表示执行的命令。每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。前5个部分分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下:

分钟 0 - 59        天 1 - 31  
小时 0 - 23        月 1 - 12
星期 0 - 6 0表示星期天
 
* (星号) 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
,(逗号) 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
/(斜线) 一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 /2 代表每隔两分钟。所以 /1 和 * 没有区别

重启crontab

/etc/init.d/cron restart

出错处理:如果执行2出现提示:

解决办法: rm -rf /var/run/crond.pid

然后再执行:/etc/init.d/crond restart

觉得不错,支持一下!

提交评论

您尚未登录,登录之后方可评论~ 登录 or 注册

评论列表

暂无评论
返回顶部

建议反馈

1. 可在博文底部留言评论

2. 发邮件到i_suichuan@163.com