linux中定时执行mysql脚本

magiclake 2019-08-07

一、Linux中的定时任务:

Linux中每行定时任务的描述格式如下:

minute hour day month dayofweek command

minute - 从0到59的整数 

hour - 从0到23的整数 

day - 从1到31的整数 (必须是指定月份的有效日期)

month - 从1到12的整数 (或如Jan或Feb简写的月份)

dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)

command - 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令)

关于定时规则更详细解释可以看介绍cron表达式那篇文章

定时任务相关命令:

查看配置的定时任务:crontab -l

编辑配置的定时任务: crontab -e

关闭配置的定时任务: service crond stop(systemctl stop crond)

启动配置的定时任务: service crond start(systemctl start crond)

重启配置的定时任务: service crond restart(systemctl restart crond)

二、例子

1、每五分钟执行下指定sql脚本

(1) 创建指定sql文件:vi  /opt/mysql/test.sql

(2)编辑定时任务:输入crontab -e

在文本末尾添加:*/5 * * * *  mysql -h127.0.0.1 -u root -p密码 </opt/mysql/test.sql  保存

2、每天0点30备份一下指定数据库

(1).每天0点30分将指定数据库,备份至/opt/sqlback文件夹下,备份文件名规则为-数据库名+年月日时分秒,

配置命令如下:

30 0 * * * mysqldump -u root -p密码 -h127.0.0.1 --databases db_test > /opt/sqlback/db_test_`date +\%Y\%m\%d\%H\%M\%S`.sql

(2).配置定时任务前请先执行测试命令:

mysqldump -u root -p密码 -h127.0.0.1 --databases db_test > /opt/sqlback/db_test_`date +\%Y\%m\%d\%H\%M\%S`.sql

相关推荐