【问题标题】:R script as cronjob not executingR脚本作为cronjob未执行
【发布时间】:2016-02-02 12:31:03
【问题描述】:

我创建了一个简短的 R 脚本,它使用 streamR 包不断地从 twitter 下载数据。该脚本应该在运行 Ubuntu 14.04 的标准 Amazon EC2 服务器上运行。在标准命令行中对其进行测试时,它运行良好。但是,它没有按照 cronjob 中的指定运行。我使用了以下命令:

sudo crontab -e

然后将以下行添加到文件中

0 * * * * Rscript /home/mydirectory/docs/phd-research/data-collection/cron-script.R

希望它每小时执行一次 R 脚本。

我的权限有什么问题吗?我已经检查了 cron 是否正在运行,并且我将 r 脚本应该写入的目录更改为 775。

提前致谢!

【问题讨论】:

    标签: r ubuntu amazon-ec2 cron crontab


    【解决方案1】:

    好的 - 原来我使用了错误的命令来调用 crontab。它应该在其中工作的目录归user 而不是root 所有,因此调用root crontab 不起作用。 编辑 crontab 的正确命令如下:

    crontab -u user -e
    

    Rscript 不需要完整路径,它适用于两者。

    【讨论】:

      【解决方案2】:

      在 cronjob 执行期间,$PATH$ 是未知的(即Rscript 的目录不是标准$PATH$ 的一部分)。将完整路径写入Rscript 即可:

      0 * * * * /.../Rscript /home/mydirectory/docs/phd-research/data-collection/cron-script.R
      

      【讨论】:

      • 嗨@jogo,感谢您的回复!我已经更改了路径并尝试了一下。
      • 嗨,遗憾的是这并没有成功。我开始认为它必须与权限有关。 cronjob 归 root 所有,而它应该写入的目录归用户所有,这可能是问题吗?
      • 好的,原来是这个问题!
      猜你喜欢
      • 2019-02-25
      • 2011-03-29
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      • 2015-04-17
      • 2016-09-07
      • 2016-08-21
      相关资源
      最近更新 更多