奇点灰烬

Linux定时任务之Cron表达式规则
Cron是Linux的定时任务触发程序,这几乎成了Linux学习人群必备掌握的知识。熟练使用Cron可以定时运行一...
扫描右侧二维码阅读全文
25
2021/12

Linux定时任务之Cron表达式规则

Cron是Linux的定时任务触发程序,这几乎成了Linux学习人群必备掌握的知识。
熟练使用Cron可以定时运行一些脚本命令等操作,使Linux更加自动化,管理起来得心应手,如鱼得水。
这里主要介绍下Cron的表达式填写规则。


Cron 表达式

创建定时触发器时,用户能够使用标准的 Cron 表达式的形式自定义何时触发。定时触发器现已推出秒级触发功能,为了兼容老的定时触发器,因此 Cron 表达式有两种写法。

Cron 表达式语法一(推荐)

Cron 表达式有七个必需字段,按空格分隔。

第一位第二位第三位第四位第五位第六位第七位
分钟小时星期

其中,每个字段都有相应的取值范围:

字段通配符
0 - 59的整数, - * /
分钟0 - 59的整数, - * /
小时0 - 23的整数, - * /
1 - 31的整数(需要考虑月的天数), - * /
1 - 12的整数或 JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC, - * /
星期0 - 6的整数或 SUN,MON,TUE,WED,THU,FRI,SAT。其中0指星期日,1指星期一,以此类推, - * /
1970 - 2099的整数, - * /

Cron 表达式语法二(不推荐)

Cron 表达式有五个必需字段,按空格分隔。

第一位第二位第三位第四位第五位
分钟小时星期

其中,每个字段都有相应的取值范围:

字段通配符
分钟0 - 59的整数, - * /
小时0 - 23的整数, - * /
1 - 31的整数(需要考虑月的天数), - * /
1 - 12的整数或 JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC, - * /
星期0 - 6的整数或 SUN,MON,TUE,WED,THU,FRI,SAT。其中0指星期日,1指星期一,以此类推, - * /

通配符

通配符含义
,代表取用逗号隔开的字符的并集。例如:在“小时”字段中 1,2,3 表示1点、2点和3点
-包含指定范围的所有值。例如:在“日”字段中,1 - 15包含指定月份的1号到15号
*表示所有值。在“小时”字段中,* 表示每个小时
/指定增量。在“分钟”字段中,输入1/10以指定从第一分钟开始的每隔十分钟重复。例如,第11分钟、第21分钟和第31分钟,以此类推

注意事项

在 Cron 表达式中的“日”和“星期”字段同时指定值时,两者为“或”关系,即两者的条件分别均生效。


示例

*/5 * * * * * * 表示每5秒触发一次
0 15 10 1 * * * 表示在每月的1日的上午10:15触发
0 15 10 * * MON-FRI * 表示在周一到周五每天上午10:15触发
0 0 10,14,16 * * * * 表示在每天上午10点,下午2点,4点触发
0 */30 9-17 * * * * 表示在每天上午9点到下午5点每半小时触发
0 0 12 * * WED * 表示在每个星期三中午12点触发

最后修改:2021 年 12 月 25 日 11 : 31 PM

发表评论