crontab调度

调度的基本格式


*    *     *    *     *       cmd
分  时    日   月    周      命令

第1列表示分钟  0 - 59,每分钟用 * 或者 */1表示。
第2列表示小时  0 - 23,0表示0点。
第3列表示日期 1 - 31
第4列表示月份  1 - 12
第5列表示星期 0 - 6, 0表示星期日
第6列是要运行的命令

月和周的属性值还可以用相应英语单词的前3个字母来表示,如jan表示一月,mon-wen表示周一到周三。

特殊符号:

  • 逗号,来分隔多个时间值,
  • - 表示一个时间范围,
  • *表示该属性的所有取值,是否有效取决于相关属性的值。
  • /n代表每隔n个时间单位的意思,*/5表示每隔5个单位,1-10/2表示1至10之间每隔2个时间单位,也就是1,3,5,7。
  • 如果时属性指定了具体值,而分属性是*则表示整点。

注意:因为日期属性与周属性都表示某一天,两者之间的关系是比较微妙的。

  • 如果两个属性都是*,当然是按每天调度。
  • 如果两个属性中有一个是具体的,如0-3,另一个是*,则按具体的属性调度,*不再表示所有取值。
  • 如果两个属性都是具体值,则按两个规则调度,都有效。

继续阅读