如何在Mac上运行Cron作业?


13

如何使Mac(运行最新的操作系统)每天自动执行一次任务?例如,我希望它每天一次自动下载开源代数几何教科书的副本。我感觉wget和cron的某种组合应该可以工作,但是在谷歌搜索并阅读了cron文档之后,我只是无法使其正常工作。


2
我建议您不要使用Crontab,而是像建议的那样学习使用Launched。
Martin Marconcini

Answers:


9

我认为在OS X中,您应该使用launchctl“ cron作业”。
但是否则,使用cronjob可以轻松完成您的任务
sudo crontab -e
55 23 * * * wget http://www.math.columbia.edu/algebraic_geometry/stacks-git/book.pdf

它应该每天23:55运行

更新资料

您应该使用以下命令指定WGET的输出位置 -O /path/to/file


2
如果使用的launchd,看到apple.stackexchange.com/questions/3030/...

2
您不一定需要sudo。单个用户可以拥有自己的crontab
Doug Harris,

6

可以通过以下简单的方法来激活cron守护程序:

sudo touch /private/etc/crontab

然后,建议输入/ usr / local / bin / wget的完整路径(或其所在位置)。Cron不知道您用户的$ PATH。希望能帮助到你。



4

如果您发现命令行语法(等)过于混乱/混乱,您可能会喜欢GUI工具来查看/编辑/创建这些作业。

过去,我使用过Lingon,该软件现在也已在Mac App Store中提供。我不需要经常使用它,但是当我这样做时非常有用!


1

一个比cron更优雅的解决方案是使用iCal通知+ Applescript。

首先,启动AppleScript编辑器(位于/ Application / Utilities下)并粘贴以下代码:

set the destination_file to ("~/Downloads/book.pdf")

set the contentLink to "http://www.math.columbia.edu/algebraic_geometry/stacks-git/book.pdf"

tell application "URL Access Scripting"
    download contentLink to destination_file replacing yes
end tell

保存脚本并退出applescript编辑器。

打开您的iCal并为今天创建一个新事件,设置所需的时间,选择“重复:每天”,并作为警报“运行脚本”,然后选择您的applescript。

如果您希望每次下载都得到通知,则可以添加另一个警报,其中包括“带声音的消息”,“最新日期”。


1

我推荐通心粉。它的优点是,当您将作业设置为每天运行一次时,无论计算机何时打开,该作业都会运行。这样您就不会错过工作,因为计算机在指定时间关闭了。

Macaroni是处理Mac OS X常规维护的工具,包括Mac OS X修复特权过程以及Unix风格的维护。您可以自己执行此操作,但是您是否有更多与时间相关的有趣事情?

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.