Muito simples RTS Cronjob Ubuntu

0

Eu tenho tentado fazer um script R (RScript) muito simples rodar a cada minuto empregando um cronjob; Eu estou em um servidor Ubuntu 16.04. O script R lê um número inteiro entre 0 e 59 de 1 .csv, incrementa-o por 1 e grava-o em uma saída .csv. Então, existem três arquivos:

  1. simpleRScript.R
  2. input.csv
  3. output.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)

input.csv

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

output.csv

 value,
 0

Eu armazenei estes três arquivos em uma pasta, cronTest tal que eles estão em:

 /home/ubuntu/cronTest

Então, na linha de comando, fiz o seguinte:

 #
 crontab -e

E depois na parte inferior, digitei:

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

Então, por que quando eu digito:

 less output.csv

não vejo um valor incrementado a cada minuto?

Obrigado por me ajudar a configurar meu primeiro cronjob de RScript!

    
por Jonathan Ross Charlton 14.02.2017 / 19:17

1 resposta

0

RESPOSTA (graças ao steeldriver nos comentários)

Altere o comando cronjob para

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

Para usuários de R, o comando Rscript no Ubuntu 16.04 LTS quando instalado é / usr / lib / R / bin / Rscript

    
por Jonathan Ross Charlton 14.02.2017 / 19:59