重新加载后 Crontab 步骤将被重置

重新加载后 Crontab 步骤将被重置

大家好,我是 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 分钟就回答了。这段时间足够您自己尝试一切了!

相关内容