linux中定时执行mysql脚本
一、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