我在某些 Ubuntu 服务器上发现了这个 cron 命令/etc/cron.d/
。
0 */3+2 * * * root <command goes here>
通过添加以下文件,在我的 PC 上尝试了 Ubuntu 14.04.3 LTS:/etc/cron.d/test
*/3+2 * * * * root echo 'Cron test'
这是 cron 日志:
Oct 20 03:51:01 artem-notebook CRON[17427]: (root) CMD (echo 'Cron test') Oct 20 03:54:01 artem-notebook CRON[17595]: (root) CMD (echo 'Cron test') Oct 20 03:57:01 artem-notebook CRON[17662]: (root) CMD (echo 'Cron test') Oct 20 04:00:01 artem-notebook CRON[17728]: (root) CMD (echo 'Cron test')
所以看起来它以某种方式起作用了,对吗?
这个“+”是什么意思?有关于此功能的任何文档吗?
答案1
cron
不支持字段内的任何算术。破折号表示范围(9-12
= 9,10,11,12
),斜线表示“每个第 N 个”。看起来解析器只是忽略了从未解析的字符到末尾的所有内容。因此*/3+2
相当于*/3
这反过来又相当于0,3,6,9,12,15...48,51,54,57
- 正是您在日志中所拥有的。