2012-04-12 38 views
5

我想使用cron安排我的R脚本,但它不工作。看来R无法在cron中找到软件包。任何人都可以帮助我?谢谢。使用cron安排R脚本

以下是我的bash脚本

# source my profile 
. /home/winie/.profile 
# script.R will load packages 
R CMD BATCH /home/script.R 

+1

这是从R-帮助-1 – 2012-04-12 04:33:40

+1

@TylerRinker交叉后,它会一直好,如果OP在两地都有交叉?我通常尝试使用R帮助,但有时候人们不回答,然后我在这里添加了一个赏金。 – 2012-09-18 02:57:39

+2

可以在两个地方发帖,只是将每个帖子链接到不同的网站,或者帮助列出其他网站,这样有人就不会解决已经解决的问题。 – 2012-09-18 03:08:35

回答

10

考虑这些提示

  1. 使用RSCRIPT(或利特勒),而不是R CMD BATCH

  2. 确保cron作业正在运行,因为你

  3. 确保脚本运行本身

  4. 测试它

我的箱子通过一个cronjob运行有所可见CRANberries调用的R脚本 在详细模式下几次(其中我通过littler执行,但Rscript 也应该正常工作)。对于这一点,我的Ubuntu服务器上/etc/crontab的条目是

# every few hours, run cranberries 
16 */3 * * * edd  cd /home/edd/cranberries && ./cranberries.r 

所以每十六个分结束每三个小时,一个shell命令正在用我的ID运行。它变成工作目录,并调用R脚本(它具有可执行模式等)。

见到这种情景,我其实只是运行脚本,并在它setwd()命令....

+0

这很吸引人......你可以发布R行代码来使用setwd()。我的意思是,如何从命令行传递参数? – 2015-10-30 18:39:54

+0

这里是一个固定的参数:'setwd(“/ home/edd/cranberries”); ......脚本的其余部分......。但请查看[doctopt](https://cran.rstudio.com/web/packages/docopt/index.html)以获取命令行参数处理... – 2015-10-30 20:08:14