mysql定时任务实现的方法(一)
来源:互联网 发布:数控编程兼职 编辑:程序博客网 时间:2024/05/18 12:02
前言:在项目中碰到需要实行mysql定时任务,在查询资料和自己实验后暂时发现有两种可行的方法,本文先介绍第一种方法——利用linux自带的cron工具来实现定时任务功能。
cron服务
在LINUX中,守护进程cron可以在无需人工干预的情况下周期性地运行作业。cron读取一个或多个配置文件,这些配置文件称为“crontab”,是“cron table”的简写,其中包含了所需要执行的命令行及其调用时间。
关于该命令的详细介绍及使用可以参考这篇文章:Crontab定时任务配置
利用cron实现mysql定时任务步骤
1.目录/etc/cron.d/ 一般用来存放任何要执行的crontab文件或脚本,所以我们在这个目录下创建文件mysql.cron,其内容为:
/usr/local/mysql/bin/mysql -uroot -proot mnf -e "truncate table mnf.history"
其中mnf代表数据库名称,-e参数后面接的是需要执行的mysql语句。并且注意其中mysql执行文件的路径一定要是绝对路径,否则不会执行,因为cron执行的默认环境变量是PATH=/sbin:/bin:/usr/sbin:/usr/bin。
2.修改crontab文件权限:
chmod 755 /etc/cron.d/mysql.cron
3.将mysql的定时任务添加到/etc/crontab中
0 0 1 * * root /etc/cron.d/mysql.cron
这行命令的意思是,每月1号的0时0分就会以root身份去调用/etc/cron.d/mysql.cron这个作业。关于crontab文件的其他例子同样可以参考前面那篇文章。
4.重启cron服务,让新添加的作业生效
/etc/init.d/crond restart
5.重启后,系统就会在每月1号的0时0分清空mnf.history表的记录。
crontab的日志记录
默认情况下,crontab执行作业的日志记录在/var/log/cron里,如下所示:
Sep 19 16:13:49 localhost crond[5202]: (CRON) STARTUP (1.4.4)Sep 19 16:13:49 localhost crond[5202]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 32% if used.)Sep 19 16:13:49 localhost crond[5202]: (CRON) INFO (running with inotify support)Sep 19 16:13:49 localhost crond[5202]: (CRON) INFO (@reboot jobs will be run at computer's startup.)Sep 19 16:14:01 localhost CROND[5214]: (root) CMD (/etc/cron.d/mysql.cron)
可以看到这个日志记录的比较简单,只是记录了什么时候执行了什么作业,如上面的最后一句。所以如果我们想知道作业执行过程中出现了什么错误,可以将/etc/cron.d/mysql.cron修改成如下:
/usr/local/mysql/bin/mysql -uroot -proot mnf -e "truncate table mnf.history" >> /var/cron.log 2>&1
这样便可以把错误输出和标准输出都记录到cron.log中。
- mysql定时任务实现的方法(一)
- 实现mysql定时任务的方法(二)
- mysql定时任务的实现
- 整理一下oracle、sqlserver、mysql的定时任务实现方法
- mysql消息队列/定时任务实现思路(一)
- Mysql定时执行任务实现方法
- Mysql定时执行任务实现方法
- Mysql定时执行任务实现方法
- Mysql定时执行任务实现方法
- Mysql定时执行任务实现方法
- Java定时框架Quartz实例详解与定时任务的Mongodb、Mysql持久化实现(一)Quartz组件
- 转:java 定时任务 Java:Web应用下实现定时任务的简便方法(转)
- MySQL定时任务是如何实现的
- PHP执行定时任务的实现思路(一)
- Spring+Quartz实现定时任务的配置方法(插曲)
- vc实现定时任务的方法讨论
- 3种实现定时任务的方法
- 定时任务的三种实现方法
- 深入理解Java虚拟机(五)
- 千视通追影车踪大数据系统V4.0.3.1
- 常用密码正则表达式验证
- android应用开发中收集的异常日志解决方法记录
- ios最新app跳转到appStore评分
- mysql定时任务实现的方法(一)
- 一只小蜜蜂... 【hdu-2044】【递推】
- 如何识别链接构建和搜索引擎优化中的错误建议
- java实现 Elias Gamma 编码算法
- yii引入js,css文件
- 浅谈使用spring security中的BCryptPasswordEncoder方法对密码进行加密与密码匹配
- UI组件——SwipeRefrshLayout最详细的源码解析——UI绘制
- 让html标签以正常文本显示(评论模块中防止用户提交恶意的html或javascipt代码)
- 如何访问虚拟机中的架设的Web服务器(解决方法)