2010-11-29 73 views
1

所以我有一个R文件,我想安排每10分钟运行一次。我已经通过终端在crontab中为文件创建了一个条目(使用crontab -e)。如下所示:如何在Mac Snow Leopard的crontab中安排R脚本?

*/10 *  *  *  *  root /Users/A/Documents/code/r/r_file.r 

当我在控制台中运行命令时,它按照设计执行,我可以验证数据库中的记录。但是,用这个cron设置我没有得到最终结果。

我的确得到了以下错误消息:

/bin/sh: root: command not found 

我相信这是一个总的菜鸟问题,因为我没有用crontab的很多经验。任何意见是极大的赞赏。

感谢,

杰森

回答

1

Rscript是在你的路径?更重要的是,它在运行逗号的用户的路径中,这里是root? (也可以考虑像你一样运行命令)。

如果是这样,尝试

*/10 * * * *  yourlogin Rscript /Users/..../file.R 

与只存储时间戳简单的工作测试您的crontab理解,也许

*/10 * * * *  yourlogin date > /tmp/testcrontab.txt 

一旦你掌握了,运行一个简易R脚本,然后继续你的真实剧本。

+0

感谢您的帮助德克。 – analyticsPierce 2010-11-30 07:13:52

2

你的crontab行的“根”部分是你搞砸了。当您使用crontab -e时,不应该指定用户,因为所有命令都以当前用户的身份运行(即,您运行crontab -e时登录的用户)。

此外,你应该总是在你的crontab中使用完整路径。

这个cron线应该是这样的:

*/10 * * * * /path/to/Rscript /Users/A/Documents/code/r/r_file.r

+0

不,当你直接编辑`/ etc/crontab`而不是`crontab -e`时,`root`(即用户)部分是必需的。这只是两种选择。就我个人而言,我也在`/ etc/crontab`中拥有我的用户作业。 – 2010-11-29 19:22:13

相关问题