2012-04-12 36 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