【问题标题】:crontab run every 15 minutes between certain hourscrontab 在特定时间之间每 15 分钟运行一次
【发布时间】:2019-12-23 21:40:35
【问题描述】:

这是否正确安排在 07:00 到 19:00 之间每 15 分钟运行一次?

*/15    07-19        *     * *     /path/script

【问题讨论】:

    标签: linux cron crontab schedule


    【解决方案1】:

    你的命令没问题!

    要从 7.00 运行到 19.45,每 15 分钟只需使用*/15,如下所示:

    */15    07-19        *     * *     /path/script
    ^^^^    ^^^^^
    

    也就是说,分钟列中的内容*/15每15分钟执行一次,而第二列,小时,将在指定的小时范围内执行一次。

    如果你想让它运行到 19 点,那么你必须写两行:

    */15    07-18        *     * *     /path/script
    0          19        *     * *     /path/script
    

    您可以在 crontab.guru 中获得对该命令的完整描述:https://crontab.guru/#/15_7-19___

    【讨论】:

    • 为什么我们需要第二行?为什么我们不能在第一行做07-19?
    • @Gadam 因为那样它也将在 19.15、19.30 和 19.45 小时运行。
    • 不错的答案,特别值得称赞的是,对 crontab.guru 的引用物有所值。
    【解决方案2】:

    是的,没错。

    crontab 中的条目应该是:

    */15 7-19 * * * /path/script >/dev/null 2>&1
    

    【讨论】:

    • 没有>/dev/null 2>&1 的 crontab 条目只会向 root 或 crontab 的所有者(如果它不是 root crontab)发送电子邮件(本地电子邮件)。电子邮件将包含脚本/程序输出。这可能是可取的,也可能是不可取的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 2012-02-04
    • 2012-08-08
    • 2019-11-04
    • 1970-01-01
    相关资源
    最近更新 更多