【问题标题】:Programmatically schedule script execution with launchd or crontab使用 launchd 或 crontab 以编程方式安排脚本执行
【发布时间】:2018-11-20 03:47:55
【问题描述】:

我知道如何创建一个配置来安排例如。在 MacOS 上每天使用 launchd 或 crontab 执行脚本。但是,我遇到了一种情况,我需要将脚本的一次性执行安排为(另一个)ruby 脚本的一部分。

对此的解决方案是手动编写plist 文件,然后运行launchctl load,但这需要sudo 权限。

有没有更好的方式在 MacOS 中以编程方式安排一次性执行脚本?

【问题讨论】:

  • 如果您的脚本是基于网络的,您可以使用第 3 方服务(例如 crono)以编程方式设置您的作业。

标签: bash macos command-line cron launchd


【解决方案1】:

我会使用 at 命令。我没有在mac os上使用它,但我敢打赌你可以做brew install at然后你可以运行at命令来安排一个特定时间的工作at

echo script.sh | at tomorrow noon

https://linux.die.net/man/1/at

【讨论】:

  • 这行得通,at 随 MacOS 一起提供 - 感谢您指出这一点。默认情况下它是禁用的,并且可以在运行sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist 时禁用(由man atrun 指定)
  • 谢谢@ManuelEbert
猜你喜欢
  • 1970-01-01
  • 2011-05-28
  • 2021-05-25
  • 2017-12-18
  • 2016-03-02
  • 1970-01-01
  • 2018-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多