Cron:
计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到 cron 服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的作务。
Cron表达式:
是一种表达计划执行时间的表达式。
表达式结构:
秒 ------分-------时--------日--------月---------周--------年
因为年可以缺省,所以还有下面这种结构:
秒 ------分-------时--------日--------月---------周
cron规则:
字段 | 是否为空 | 符号 | 可填值 |
秒 | 否 | ,,*,-, | 0~59 |
分 | 否 | ,,*,-, | 0~59 |
时 | 否 | ,,*,-, | 0~23 |
日 | 否 | ,,*,-,\,?,L,W,C | 1~31 |
月 | 否 | ,,*,-, | 1~12,JAN~DEC |
周 | 否 | ,,*,-,?,L,C,# | 1~7,SUN~SAT |
年 | 是 | ,,*,-, | 1970~2099 |
符号详解:
符号 | 解析 | 示例表达式 | 含义 |
, | 并,连接 | 0 0 10,15 * * ? * | 每天的10:00:00和15:00:00各执行一次 |
* | 全部 | * * 10 * * ?* |
每天的10:00:00开始,每秒钟执行一次, 10:59:59结束 |
- | 在<>范围之间 | 10-20 0 0 * * ? * |
每天10:00:10开始,10:00:20结束, 每秒钟执行一次 |
间隔 | */5 * * * * ?* |
每隔5s执行一次 |
|
? | 忽略 | * * * * * ? * |
每秒执行一次, 当日指定时,周就需要忽略, 反之,毅然 因为日和周会产生冲突 |
L | 本月最后一天or周六 | 0 0 0 L * ?* |
每月的最后一天00:00:00 执行一次 |
W | 工作日,周一到周五 | 0 0 6 *W * ? * | 所有工作日的06:00:00执行一次 |
C | 日期之后 | 0 0 6 10C * ? * | 每个月的10号之后,每天06:00:00执行一次 |
# | 指定某月某周的周几 | 0 0 0 ? 6 3#1 * |
每年的父亲节那天的00:00:00执行一次 |
高级使用范例:
2018-07-14