cron表达式 - Fri, Jul 3, 2020
cron表达式
1. 概述
计划任务,可以在约定的时间(配置文件)定时执行任务。
2. 符号
符号 | 说明 | 示例 |
---|---|---|
逗号(, ) | 列举 | 1,3,4,7 * * * * echo hello world 表示,在每小时的1、3、4、7分时,打印"hello world" |
连词符(- ) | 范围 | 1-6 * * * * echo hello world 表示,每小时的1到6分钟内,每分钟都会打印"hello world"。 |
星号(* ) | 任何可能的值 | 1,3,4,7 * * * * echo hello world 表示,在每小时的1、3、4、7分时,打印"hello world" |
百分号(% ) | 每 | *%10 * * * * echo hello world 表示,每10分钟打印一回"hello world" |
问号(? ) | 任何可能的值 | 13 13 15 20 * ? echo hello world 表示,每月20号15点13分13秒打印一回"hello world" |
斜杠(/ ) | 起始时间 | 0 0 3/5 * * ? echo hello world 表示,每天3点开始执行,每隔5个小时执行一次,即3点、8点、13点、18点、23点打印一回"hello world" |
井号(# ) | 第几周 | 0 0 0 ? * 5#2 echo hello world 表示,每个月第2个周四零点打印一回"hello world" |
L(L ) | 当月最后一天或周六 | 0 0 23 L * ? echo hello world 表示,每月最后一天的23点打印一回"hello world" |
3. 域
秒域 分域 时域 日域 月域 周域 年域
域名 | 可取值 | 可取符号(仅列部分常用) |
---|---|---|
秒域 | 0~59的整数 | * - , / |
分域 | 0~59的整数 | * - , / |
时域 | 0~23的整数 | * - , / |
日域 | 1~31的整数 | * - , / ? L |
月域 | 1 | * - , / |
周域 | 1 | * - , / ? L # |
年域 | 1970~2099的整数 | * - , / |
4. 示例
表达式 | 说明 |
---|---|
0 15 10 * * ? * | 每天10点15分触发 |
0 15 10 * * ? 2017 | 2017年每天10点15分触发 |
0 * 14 * * ? | 每天下午的 2点到2点59分每分触发 |
0 0/5 14 * * ? | 每天下午的 2点到2点59分(整点开始,每隔5分触发) |
0 0/5 14,18 * * ? | 每天下午的 2点到2点59分、18点到18点59分(整点开始,每隔5分触发) |
0 0-5 14 * * ? | 每天下午的 2点到2点05分每分触发 |
0 15 10 ? * 6L | 每月最后一周的星期五的10点15分触发 |
0 15 10 ? * 6#3 | 每月的第三周的星期五开始触发 |