【问题标题】:Run cron at 7AM on multiple timezones早上 7 点在多个时区运行 cron
【发布时间】:2013-03-10 06:30:26
【问题描述】:

我想在早上 7 点在美国西部、美国东部以及亚洲和欧洲的其他一些时区本地运行 cron 作业。

这是一个 node.js 服务器,所以我可以使用 node-cron 来执行此操作,但如果可能的话,我想使用常规的 cron。

【问题讨论】:

    标签: node.js cron crontab


    【解决方案1】:

    crontab 中的时间总是指当前系统时间。您必须减去或添加时区差异才能计算服务器上的执行间隔。

    例如: 您的服务器位于美国西部 (UTC+8),系统日期设置为 UTC+8。早上 7 点可以在 crontab 中指定,使用

    0 7 * * * /run/me-for-western-us
    

    要在美国东部 (UTC+5) 早上 7 点运行脚本,您需要减去 3 小时

    0 4 * * * /run/me-for-eastern-us
    

    对所有其他时区执行相同操作。

    【讨论】:

    • 我忘了提到这些 cron 作业需要随着新位置的添加而动态创建。你的答案是正确的,只是不是我的想法。我想我会选择node-cron。谢谢!
    • 你总是可以使用 0 * * * * /run/me 然后让脚本根据位置和时区的数据库来决定要做什么。最坏的情况是,该脚本每天被调用 24 次,并且在其中的 15 到 20 次中不会做任何有成效的事情。我会说还不错。
    猜你喜欢
    • 1970-01-01
    • 2016-02-04
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多