【问题标题】:How to schedule R script in crontab on Mac Snow Leopard?如何在 Mac Snow Leopard 上的 crontab 中安排 R 脚本?
【发布时间】:2010-11-30 02:47:46
【问题描述】:

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

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

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

我确实收到了以下错误消息:

/bin/sh: root: command not found

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

谢谢,

杰森

【问题讨论】:

    标签: r crontab


    【解决方案1】:

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

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

    cron 行应如下所示:

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

    【讨论】:

    • 不,当您直接编辑/etc/crontab 而不是通过crontab -e 时,需要root(即用户)部分。这只是两种选择。就个人而言,我在/etc/crontab 也有我的用户工作。
    • 对。但他说他用的是crontab -e
    • 你好,谁能给我一个 /path/to/Rscript 的例子。我无法让它工作,我的猜测是我在那里使用了错误的东西。谢谢
    • 我搞定了。也许这对某人有帮助,就我而言,我只需要编写没有路径的 Rscript
    【解决方案2】:

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

    如果是这样,请尝试

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

    用一个只存储时间戳的更简单的工作来测试你对crontab 的理解,也许

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

    一旦你掌握了这些,运行一个简单的 R 脚本,然后继续你真正的脚本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-21
      • 2014-09-19
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 2010-11-30
      • 1970-01-01
      相关资源
      最近更新 更多