创建备份程序
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