Я пытался заставить очень простой сценарий R (RScript) работать каждую минуту путем использования cronjob; я нахожусь на сервере Ubuntu 16.04. Сценарий R читает целое число между 0-59 от 1 .csv, увеличивает его 1 и затем пишет это в вывод .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
Я хранил эти три файла в папке, cronTest таким образом, что они находятся в:
/home/ubuntu/cronTest
Затем в командной строке, я сделал следующее:
#
crontab -e
И затем внизу, я ввел:
* * * * * RScript /home/ubuntu/cronTest/simpleRScript.R
Итак, почему, когда я ввожу:
less output.csv
разве я не вижу увеличенное значение каждую минуту?
Спасибо за помощь мне настроить мой первый RScript cronjob!
ОТВЕТ (благодаря steeldriver в комментариях)
Изменение команда cronjob к
* * * * * cd /home/ubuntu/cronTest/ && /usr/lib/R/bin/Rscript simpleRScript.R
Для пользователей R, команда Rscript на ubuntu 16.04 LTS при установке является/usr/lib/R/bin/Rscript