用于夜间安排的 crontab 条目

用于夜间安排的 crontab 条目

我需要从周一到周五晚上 10 点到第二天凌晨 5 点每两分钟安排一个脚本,但我不确定以下内容是否正确且有效,或者是否还有其他正确答案...

*/2 22-00 * * 1-5  /myscript.sh
*/2 00-05 * * 2-6  /myscript.sh

更新:我预计从周日晚上 10 点开始,从那时起我预计它每天运行 22-05 直到周五。

答案1

这可以在一个条目中完成:

*/2 22-23,0-4 * * * /path/to/myscript.sh

/path/to/myscript.sh每天 22:00 到 04:58 每两分钟执行一次。

考虑到问题的澄清附录,这不能在一个条目中完成,因为不同日期有不同的运行时间。像这样:

*/2 22-23 * * 0-5 /path/to/myscript.sh  # Execute from 2200-2358 Sun-Fri
*/2 00-04 * * 1-5 /path/to/myscript.sh  # Execute from 0000-0458 Mon-Fri

答案2

第一个条目指定向后运行的范围。那应该是

*/2 22-23 * * 1-5  /myscript.sh

覆盖范围为周一至周五 22:00 至 23:58。

第二个条目可能不应该使用零填充的数字:

*/2 0-4 * * 1-5 /myscript.sh

这涵盖了 00:00 到 04:58 的范围。

上述两个时间表将/myscript.sh在每周一至周五的 22:00 至 04:58 之间每两分钟运行一次(从周一早上 00:00 开始,到周五晚上 23:58 结束)。

这两个可以合并成

*/2 22-23,0-4 * * 1-5 /myscript.sh

另请参阅此时间表crontab 大师网站

如果您希望在凌晨 5 点进行最后一次跑步,请添加额外的时间表:

0 5 * * 1-5 /myscript.sh

考虑到您更新的问题:

*/2 22-23     * * 7   /myscript.sh
*/2 22-23,0-4 * * 1-4 /myscript.sh
*/2 0-4       * * 5   /myscript.sh
0   5         * * 1-5 /myscript.sh

/myscript.sh从周日 22:00 到周五 05:00,22:00 至 05:00 每两分钟运行一次。

  1. 第一个时间表运行周日晚上的工作。
  2. 第二个时间表运行周一至周四的晚间和早间工作(直到 04:58)。
  3. 第三个时间表运行周五早上的作业(直到 04:58)。
  4. 第 4 个计划在周一至周五 05:00 运行作业。

相关内容