目录
1. cron表达式的结构
cron表达式是一个字符串,有5位 (Linux中的crontab命令中就是5位)、6位、7位之分,不同位数之间以空格分隔
位数 | 每位的含义 |
---|---|
5位:* * * * * | 分、时、天、月、周 |
6位:* * * * * * | 秒、分、时、天、月、周 |
7位:* * * * * * * | 秒、分、时、天、月、周、年 |
其语法格式为:
"秒域 分域 时域 日域 月域 周域 年域"
在大部分情况下会省略年这一位,成为6位,省略时表示每年。再省略秒,就成为5位。
注意:Linux中的crontab表达式只有5位。
2. cron每个域的取值范围
域名 | 可取值 | 可取符号(仅列部分常用) |
秒域 | 0~59的整数 | * - , / |
分域 | 0~59的整数 | * - , / |
时域 | 0~23的整数 | * - , / |
日域 | 1~31的整数 | * - , / ? L |
月域 | 1~12的整数或JAN~DEC | * - , / |
周域 | 1~7的整数(星期天为1)或SUN~SAT 对于星期,最好使用英文缩写,更加清晰 |
* - , / ? L # |
年域 | 1970~2099的整数 | * - , / |
* * * * * * *
- - - - - - -
| | | | | | |
| | | | | | +----- 年域 (1970 ~ 2099)
| | | | | +---------- 周域 (1 ~ 7 或 SUN ~ SAT) (星期天 为1)
| | | | +--------------- 月域 (1 ~ 12 或 JAN ~ DEC)
| | | +-------------------- 日域 (0 ~ 31)
| | +------------------------- 时域 (0 ~ 23)
| +------------------------------ 分域 (0 ~ 59)
+----------------------------------- 秒域 (0 ~ 59)
3. cron符号的意义
(1)* 通配符
表示可以匹配该域的所有值;
例如,"0 0 13 * * ?"表示每天的13点执行一次。