大家好,我是 cron 管理的新手,有以下疑问。我正在设置一个 crontab,每 10 分钟发送一封邮件。
*/10 * * * * mail xxxxxxx
这将发送一封邮件,例如:
00:00 mail mail xxxxxxx
00:10 mail mail xxxxxxx
00:20 mail mail xxxxxxx
如果我修改 crontab 任务00:25
*/10 * * * * mail xxxxxxx && echo xxxx
此修改是否会改变任务时间?例如
00:25 mail xxxxxxx && echo xxxx
00:35 mail xxxxxxx && echo xxxx
00:45 mail xxxxxxx && echo xxxx
或者仍然
00:30 mail xxxxxxx && echo xxxx
00:40 mail xxxxxxx && echo xxxx
00:50 mail xxxxxxx && echo xxxx
答案1
不,修改后它仍然会运行 30、40、50 等“偶数”次。Cron 会忽略 crontab 修改的时间,而仅使用其内容。*/10 是 0、10、20 等。
也就是说,可以在一行中使用 25、35、45 等来分隔分钟值。使用方式如下:
5,15,25,35,45,55 * * * * mail xxxxxxx
某些版本的 cron 还允许在范围之后执行步骤,因此可以进行以下操作:
5-55/10 * * * * main xxxxxxx
它与之前的变体相同。
阅读 man crontab,例如:https://linux.die.net/man/5/crontab
最后要说的是,我回答您的问题后 25 分钟就回答了。这段时间足够您自己尝试一切了!