最近参加面试,笔试的时候遇到很多crontab比较复杂的问题,想在这里记录一下,方便以后遇到可以查阅解决。
先说一下crontab的语法规范
代表意义 | 分钟 | 小时 | 日期 | 月份 | 周 | 命令 |
数字范围 | 0~59 | 0~23 | 0~31 | 0~12 | 0~7 | 需要执行的命令 |
需要注意的是,一共只有5个区间,最后一个才是周,周中0和7都代表星期天,而且周还可以用英文缩写代替,如:Mon、Tues、Wed、Thur、Fri、Sat、Sun(字母大小写都可)
另外,还有一些辅助的字符,大概有下面这些:
特殊字符 | 代表意义 |
*(星号) | 代表任何时刻都接受的意思。举例来说,范例一内那个日、月、周都是*,就代表着不论何月、何日的礼拜几的12:00都执行后续命令的意思。 |
,(逗号) | 代表分隔时段的意思。举例来说,如果要执行的工作是3:00与6:00时,就会是:0 3,6 * * * command |