Mac 上的 cronjobs 入门
题
我正在尝试熟悉 cron 作业,我想我已经了解了基本的想法(调度、语法等),但是,我似乎无法在我的 mac 上使用终端来正确地完成它 - 我到底在哪里可以找到定时任务?我应该如何引用脚本的路径?
我想做的是在远程机器上点击 php 脚本(http://...) - 这可能吗?
解决方案
要开始使用 launchd (而不是 cron),您需要首先创建一个空的 .plist
文件,例如 local.mytask.plist
并把它放在某个地方。 ~/Library/LaunchAgents
也许是个好地方。在文本编辑器中打开它并复制下面的代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<false/>
<key>Label</key>
<string>local.mytask</string>
<key>ProgramArguments</key>
<array>
<string>/opt/local/bin/wget</string>
<string>http://someserver/somepage.php</string>
</array>
<key>StartInterval</key>
<integer>300</integer>
<key>RunAtLoad</key>
<true />
<key>StandardErrorPath</key>
<string>/dev/null</string>
<key>StandardOutPath</key>
<string>/dev/null</string>
</dict>
</plist>
然后从命令行“激活”该文件:
sudo launchctl load /Users/my_username/Library/LaunchAgents/local.mytask.plist
要使其自动加载,请创建一个 ~/.launchd.conf
文件具有同一行(减去 sudo launch
)
load /Users/my_username/Library/LaunchAgents/local.mytask.plist
以上说明已复制自 www.davidlanier.com 并转发至此供您参考。
其他提示
类型crontab -e
编辑您的cron表和crontab -l
列出当前内容..类型man 1 crontab
关于该命令和man 5 crontab
更多信息有关cron表文件格式的更多信息。
例如,在每天10下载计算器页面:00A,运行crontab -e
,进入这一行,然后保存/退出。输出将被写入到文件在你的home目录。
0 10 * * * /usr/bin/curl -s http://stackoverflow.com > ~/stackoverflow.html
在关闭的机会,别人用的cron雪豹斗过这个跌倒,我会疏通了这个古老的线程。
是,launchd会被用来替代cron的,但实际上它不能做某些事情的cron即可。
的Cron没有集成很好。如果发送消息时,它在/ var /邮件/ USER_NAME这当然苹果公司邮件一无所知结束了。
的crontab -e抛出了说“临时文件必须在适当位置进行编辑”。显然,Vim不是Vi兼容。那么你可以做的crontab“
是,过了好一会儿梳理出这一切:(
launchd的是强大的,但你真的不希望自己编写的plist。获取 Lingon 。这是一个开源的,真的很好设计的GUI用于创建和管理系统的launchd的任务。
的Cron一直以来10.4取代的launchd 。你或许应该写在某些时候他们移植到Linux / Unix系统使用,除非你计划你的任务。
如果你决定无论如何用cron来走,试着键入crontab -e
或sudo crontab -e
。这会给你不同的crontab文件,前者为您当前作为运行的用户,后者为root用户。
“击中”的URL可以完成了很多办法。根据您正在使用,以“打”它的本地脚本,你可以使用一些语言的内置方法/班。例如,一个Ruby脚本将使用网/ HTTP 但你可以尝试卷曲,以及如果你只是写一个bash脚本。做man curl
找出更多,但基本的命令只是curl http://google.com
。
您不再需要使用cron的。正如其他人已经指出,它已取代的launchd和launchd的显然将是在Mac OS X的未来。
MACTECH杂志最近做了一系列的launchd的文章,我会强烈建议你阅读它们。我知道我肯定学到了很多东西。
2009年9月(第25卷,第9期) 25.09 MacEnterprise:为的launchd午餐
2009年10月,(第25卷,第10期) 雪豹,launchd会和午餐 更的launchd食谱,一看Snow Leopard中的变化
目前已在MACTECH其他文章,我会建议寻找他们的网站。