配置语法

1
2
3
4
5
6
7
8
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
# * * * * * command to be executed

| 特殊字符 | 代表意义 |
|———-+————————————————————————-|
| * | 代表任何时刻都接受的意思! |
| , | 0 3,6 command代表几个时段的意思。这个例子就是3:00和6:00 |
| - | 代表一段时间范围内,与逗号一样,只不过是连续的几个点,是’,’的特殊情况 |
| `
/n` | /5 command那个n代表数字,亦即是每隔n单位间隔,该位要用’‘先填补 |

特殊时间控制:

1
@reboot <COMMAND>

要点

  • 周与日和月不能同时存在,因为两个点指向的天不一定是同一天,指定了周,日和月都要置成,指定了月或日,周就要置成

  • %需要转义,默认用来表示后续字符作为命令的标准输入!

    date --date='-1 day' +"\%Y-\%m-\%d"

  • 指定shell

    SHELL=/bin/bash
    
  • 命令中不能使用sudo,除非修改/etc/sudoers中配置Defaults requiretty=>Defaults !requiretty

DEBUG

  • 重定向标准输出和出错到文件

    * * * * * <COMMAND> >>/tmp/crond.log 2>&1
    

留言

2016-09-29