定时任务

Posted forever-x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定时任务相关的知识,希望对你有一定的参考价值。

1.计划任务基本概述

1.什么是crond

crond就是计划任务,类似于我们平时生活中的闹钟。定点执行

2.为什么要使用crond

crond主要是做一些周期性任务,比如:冷晨3点定时准备数据。比如:11点开启网络抢购接口,12点关闭网站抢购接口。

3.计划任务主要分为以下两种使用情况:

1.系统级别的定时任务:临时文件清理、系统信息采集、日志文件切割
2.用户级别的定时任务:定时向互联网同步时间、定时备份系统配置文件、定时备份数据库的数据

2.计划任务时间管理

1.Crontab配置文件记录了时间周期的含义

[[email protected]    ~]# vim /etc/crontab
SHELL=/bin/bash                 执行命令的解释器
PATH=/sbin:/bin:/usr/sbin:/usr/bin      环境变量
MAILTO=root                     邮件发给谁
#   Example of  job definition:
#   .----------------   minute  (0  -   59)                    分钟
#   |       .-------------  hour    (0  -   23)            小时
#   |       |       .---------- day of  month   (1  -   31)         日期
#   |       |       |       .-------    month   (1  -   12) OR  jan,feb,mar,apr 月份
#   |       |       |       |       .----   day of week (0-6) (Sunday=0or7) OR sun,mon,tue,wed,thu,fri,sat   星期
#   |       |       |       |       |
#   *       *       *       *       *   command  to  be  executed
#   *       表示任意的(分、时、日、月、周)时间都执行
#   -       表示一个时间范围段,如5-7点
#   ,       表示分割时间段,如6,0,4表示周六、日、四
#   /1          表示每隔n单位时间,如*/10  每隔10分钟

2.了解crontab的时间编写规范

00 02   *   *   *   ls          每天的凌晨2点整执行
00 02 1 *   *   ls              每月的1日的凌晨2点整执行
00 02 14 2  *   ls              每年的2月14日凌晨2点整执行
00 02   *   *   7   ls          每周天的凌晨2点整执行
00 02   *   6 5 ls              每年的6月周五凌晨2点整执行
00 02 14    *   7   ls              每月的14日或每周日的凌晨2点整执行
00 02 14 2 7    ls                  每月的2月14日或每年2月的周天的凌晨2点整执行        
*/10        02  *   *   *   ls      每天凌晨2点,每隔10分钟执行一次
*   *   *   *   *       ls      每分钟都执行
00 00 14 2  *       ls          每年2月14日的凌晨执行命令
*/5 *   *   *   *       ls      每隔五分钟执行一次
00 02   *   1,5,8   *   ls      每年的1、5、8月凌晨2点执行
00 02 1-8   *   *       ls          每月1-8号凌晨2点执行
0 21    *   *   *   ls              每天晚上21点执行
45 4 1,10,22    *   *   ls                  每月1、10、22日的4:45执行
45 4 1-10   *   *   l               每月1-10日的4:45执行
3,15 8-11   */2 *   *   ls                  每隔2天的上午8点到11点的第3和第15分钟执行
0 23-7/1    *   *   *   ls          晚上11点到早上7点之间,每隔1小时执行
15 21   *   *   1-5 ls          周一到周五每天晚上21:15执行

以上是关于定时任务的主要内容,如果未能解决你的问题,请参考以下文章

Celery实现定时任务crontab

以代码的方式管理quartz定时任务的暂停重启删除添加等

Laravel实现定时任务的示例代码

asp.net 定时器 定时执行任务

MySQL定时执行脚本(计划任务)实例

动态创建管理定时任务-已完成