Mac OS 10.6 Snow Leopard下的cron jobs

13

我试图在Mac OS 10.6下设置半小时运行一次的自动svn提交,但我添加到cron的crontab似乎无效,或者根本没有被cron查看。为了测试,我制作了一个简单的crontab和脚本:

crontab: */2 * * * * /Users/username/crontest

其中username已替换为我的系统用户名,因此指向我的主目录(是的,每个值之间确实有制表符-它们在code部分中不被忠实地复制)

我首先运行crontab -r,然后运行包含上述行的crontab .mycrontabcrontab -l输出上述行,运行ps -A | grep cron显示/usr/sbin/cron正在运行,我认为这是Mac OS X下的cron守护进程。 /Users/username/crontest脚本只是将一行文本附加到文本文件中,如下所示:

echo "hi" >> /Users/username/crontest.txt

怎么回事? 我很困惑。

2个回答

14

糟糕...我在cron任务的结尾缺少了换行符。看起来这个问题已经被解决了。


2
只是为了明确,我遇到了类似的问题,当我运行contrab -e时,向我的文件添加额外的新行就解决了它。呃。 - Rob Osborne

5
尽管在OS X上运行自动化作业的首选方法是launchd,但仍支持cron。您的脚本可能存在权限问题;请确保拥有执行权限。
此外,*/2表示每两分钟运行一次,而不是半小时一次。尝试通过指定分钟数列表来设置分钟字段:
0,30    *   *   *   *   /Users/username/crontest

在10.6上对我有效。


1
谢谢你的提示。顺便说一下:我想我在最初的问题中没有澄清,即使我的最终cron作业旨在每半小时运行一次,但我的测试cron作业实际上旨在每两分钟运行一次。 - jtrim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接