如何在Mac Snow Leopard上的crontab中安排R脚本?

时间:2010-11-29 18:34:28

标签: r crontab

所以我有一个R文件,我想安排每10分钟运行一次。我已经通过终端在crontab中创建了一个文件条目(使用crontab -e)。如此:

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

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

我收到了以下错误消息:

/bin/sh: root: command not found

我确信这是一个完整的新手问题,因为我对crontab没有多少经验。任何意见是极大的赞赏。

谢谢,

杰森

2 个答案:

答案 0 :(得分:2)

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

此外,您应始终在crontab中使用完整路径。

cron行应该如下所示:

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

答案 1 :(得分:1)

Rscript是否在您的路径中?更重要的是,它是在运行commamd的用户的路径中,这里是root吗? (还要考虑像你一样运行命令。)

如果是,请尝试

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

使用更简单的工作来测试您对crontab的理解,该工作只存储时间戳,也许

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

掌握完成后,运行一个简单的R脚本,然后转到真实的脚本。