如何在OS X上设置cron作业以在每天的特定时间运行curl命令?


20

我有一个CURL命令,我想每天凌晨3点运行,但是我不确定如何设置它,而且指南也很奇怪。

假设我有很多终端/ bash经验,但是我以前从未设置过cron。

cron作业是否可以唤醒我的计算机,即使它正在睡眠并且盖上了盖子(macbook pro),也只是运行此curl命令然后又使其重新进入睡眠状态?

我该如何设置?

Answers:


22

首先运行命令:

crontab -e

这将在文本编辑器中为您的用户打开crontab。Cron对计划的作业使用特定的符号。下面的格式显示了用户crontab条目的字段(需要用制表符分隔)。

min  hour  day_of_month  month  day_of_week  command

要计划curl命令每天凌晨3点运行,您可以插入以下行:

0  3  *  *  *  curl args...

请注意分钟和小时如何对应凌晨3点(旁注:cron使用24小时时间格式,不是上午或下午)。后面的星号表示每月,每个月,每周的每一天。

Cron无法将您的计算机从睡眠中唤醒,但是您可能会发现这篇文章对crontab很有帮助,可以将osx从睡眠中唤醒


1
当我这样做时,crontab -e我在终端机:中看到了这一点$ crontab -e crontab: no changes made to crontab,然后它将打开我的文本编辑器,其中包含文件crontab.some-random-string夹中的文件/tmp。一旦编辑并保存,终端中什么也不会发生。如果这样做crontab -l,我刚刚输入的工作不会显示。然后,如果我crontab -e再次执行此操作,它将打开另一个空白crontab.some-random-string。我还测试了我保存的第一个crontab,方法是将时间设置为从保存到保存cron从未运行过的2分钟。可能会发生什么?
marcamillion '16

运行'crontab -e'时,哪个文本编辑器正在打开?
diametralpitch

我的默认值是atom。这就是在终端中打开任何要编辑的内容时启动的内容。这是我的~/.bash_profileexport EDITOR='open -a "/Applications/Atom.app"'
marcamillion

嗯,如果您自己从命令行运行atom,它会在提示另一个命令之前等待atom退出(如果没有,您可能要尝试使用其他文本编辑器)。
亚当·卢曾布劳斯

@AdamLuchjenbroers我不确定我是否完全理解您的问题。我使用atom进行所有代码编辑。因此,如果要编辑任何文件,只需atom .在目录或中进行atom <filepath>
marcamillion

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.