【问题标题】:How to execute a missed cron or launchd job only once computer is connected to the internet?仅在计算机连接到 Internet 后,如何执行错过的 cron 或已启动的作业?
【发布时间】:2013-06-22 23:24:50
【问题描述】:

我有一个想要每天执行的脚本,它需要 Internet 连接才能正确执行。但是,我的笔记本电脑(脚本所在的位置)并不总是开机,也不总是连接到 Internet。

我希望脚本在每天早上 8:00 执行。但是,如果计算机在 8:00 关闭或未连接到 Internet,我希望脚本在下一个可用机会执行。

如何使用 cron、launchd 或其他管理器实现此目的?如果答案避免了在计算机重新启动后每隔 5 秒就不得不失败一次作业,直到我连接到 Internet 并且它正确执行,则可以加分。

如果重要的话,我正在运行 OSX Mountain Lion。

【问题讨论】:

    标签: macos unix cron daemon launchd


    【解决方案1】:

    anacron 可能是您的答案。它通常安装在 linux 上,但它是可选的,如果您的系统管理员决定不包含它,可以将其关闭。在 OS/X 上,它更具挑战性,但互联网上的页面解释它比我在这里的空间更好。可以从launchd运行Anacron。

    在 linux 上,手册页应该为您指明正确的方向。

    此外,您可以使用 wget 命令让您的脚本了解 Internet 连接并询问结果。如果不成功,请进入一个循环等待互联网连接以 10 分钟或任何对您有意义的计时器工作。

    如果您需要有关如何完成这些任务的详细信息,请联系我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 2017-11-22
      • 2023-03-21
      • 2017-05-02
      • 2022-08-03
      • 1970-01-01
      相关资源
      最近更新 更多