非常简单的 RScript Cronjob Ubuntu

非常简单的 RScript Cronjob Ubuntu

我一直在尝试通过使用 cronjob 来让一个非常简单的 R 脚本 (RScript) 每分钟运行一次;我在 Ubuntu 16.04 服务器上。R 脚本从 1 .csv 中读取 0-59 之间的整数,将其加 1,然后将其写入输出 .csv。因此有三个文件:

  1. simpleRScript.R
  2. 输入.csv
  3. 输出.csv

simpleRScript.R

 # simpleRScript.R
     temp_output <- read.csv("output.csv", stringsAsFactors = FALSE, header = TRUE)
     input <- read.csv("input.csv", stringsAsFactors = FALSE, header = TRUE)
     output <- input$value[which(input$value == temp_output$value[1])+1]
     if(output == 60, output <- 0)
     write.csv(output, file = "output.csv", row.names = FALSE)

输入.csv

 value,
 0,
 1,
 2,
 ...,
 59

输出.csv

 value,
 0

我将这三个文件存储在 cronTest 文件夹中,如下所示:

 /home/ubuntu/cronTest

然后在命令行中我执行以下操作:

 #
 crontab -e

然后在底部我输入:

 * * * * * RScript /home/ubuntu/cronTest/simpleRScript.R

那么为什么当我输入:

 less output.csv

我怎么没有看到每分钟增加的值呢?

感谢您帮助我设置我的第一个 RScript cronjob!

答案1

答案(感谢steeldriver的评论)

将 cronjob 命令更改为

 * * * * * cd /home/ubuntu/cronTest/ && /usr/lib/R/bin/Rscript simpleRScript.R

对于 R 用户,ubuntu 16.04 LTS 上安装的 Rscript 命令是 /usr/lib/R/bin/Rscript

相关内容